Skip to main content

Full text of "Micro Cornucopia (October 1984)"

See other formats


TABLE OF CONTENTS 

HSC 68000 Co-Processor 5 

DynaDisk for the BBII 8 

BBI: ETX/ACK Serial Print Driver 11 

More I/O on the BBI 13 

Serial Printer on a BBI Sans SIO 14 

Parallel Printer Interface for SWP's Dual Density 16 

Pascal Procedures 18 

Extended 8" Single Density 20 

SBASIC Column 22 

The Kaypro Column 26 

Cheap and Dirty Talker for your Kaypro 30 

The Slicer Column 33 

FORTHwords 38 

C'ing Clearly 44 

Xerox 820 Column 48 

SOG III 52 

On Your Own , 62 

Technical Tips 68 




"THE ORIGINAL BIG BOARD" 
OEM - INDUSTRIAL - BUSINESS - SCIENTIFIC 

SINGLE BOARD COMPUTER KIT! 

Z-80CPU! 64KRAM! 

(DO NOT CONFUSE WITH ANY OF OUR FLATTERING IMITATORS!) 



4i 



% 






</) 








H 
















tt-o 






Q 


0)0 

= m 


m 
u 

Q. 


w 

-J 




OQ 


c 


■o 


5 


(0 


< 


C 






*n 


co 


(O 

en 

< 


.2 0) 
O CJ 


m 

k. 
o 
u. 


>■ 


(0 


o 


_j 


ss 


(/) 


-1^ 


< 

H 
DC 


< 
o 

Li. 


*o 

c 
< 


o 

z 


< 








Q. 










THE BIG BOARD PROJECT: With thousands sold worldwide and over two years of field experience, the Big 
Board may just be one of the most reliable single board computers available today. This is the same design that 
was licensed by Xerox Corp. as the basis for their 820 computer. 

The Big Board gives you the right mix of most needed computing features all on one board. The Big Board was 
designed from scratch to run the latest version of CP/M*. Just imagine all the off-the-shelf software that can be 
run on the Big Board without any modifications needed. 



$01000 (64KKIT 
**t I5J ** BASICI/ °) 



FULLY SOCKETED! 



FEATURES: (Remember, all this on one board!) 



SIZE: 8Vj x 13V4 IN. 
SAME AS AN 8 IN. DRIVE. 
REQUIRES: +5V @ 3 AMPS 
+ - 12V @. 5 AMPS. 



64K RAM 

Uses Industry standard 4116 RAM's. All 64K is available to the user, our VIDEO 
and EPROM sections do not make holes in system RAM. Also, very special care 
was taken in the RAM array PC layout to eliminate potential noise and glitches. 



Running at 
INTERUPTS 


2.5 MHZ. Handles 
Fully buffered and 


Z-80 CPU 

all 4116 RAM refresh 
runs 8080 software. 


and 


supports 


Mode 2 



24 x 80 CHARACTER VIDEO 

With a crisp, flicker-free display that looks extremely sharp even on small 
monitors. Hardware scroll and full cursor control. Composite video or split video 
and sync. Character set is supplied on a 2716 style ROM, making customized 
fonts easy. Sync pulses can be any desired length or polarity. Video may be 
inverted or true. 5x7 Matrix - Upper & Lower Case. 



SERIAL I/O (OPTIONAL) 

Full 2 channels using the Z80 SIO and the SMC 81 16 Baud Rate Generator. FULL 
RS232! For synchronous or asynchronous communication. In synchronous 
mode, the clocks can be transmitted or received by a modem. Both channels can 
be set up for either data-communication or data-terminals. Supports mode 2 Int. 
Price for all parts and connectors: $39.95 



FLOPPY DISC CONTROLLER 

Uses WD1771 controller chip with a TTL Data Separator for enhanced reliability. 
IBM 3740 compatible. Supports up to four 8 inch disc drives. Directly compatible 
with standard Shugart drives such as the SA800 or SA801. Drives can be 
configured for remote AC off-on. Runs CP/M* 2.2. 



BASIC I/O 

Consists of separate parallel port (Z80 PIO) for use with an ASCII encoded 
keyboard for input. Output would be on the 80 x 24 Video Display. 



TWO PORT PARALLEL I/O (OPTIONAL) 

Uses Z-80 PIO. Full 16 bits, fully buffered, bi-directional. Uses selectable hand 
shake polarity. Set of all parts and connectors for parallel I/O: $19.95 



BLANK PC BOARD — $89.95 
The blank Big Board PC Board comes complete with full 
documentation (including schematics), the character ROM, 
the PFM 3.3 MONITOR ROM, and a diskette with the source 
of our BIOS, BOOT, and PFM 3.3 MONITOR. 



REAL TIME CLOCK (OPTIONAL) 

Uses Z-80 CTC. Can be configured as a Counter on Real Time Clock. Set of all 
parts: $9.95 



CP/M* 2.2 FOR BIG BOARD 

The popular CP/M* D.O.S. to run on Big Board is available for $139.00. 



DOUBLE DENSITY ADAPTER BOARD — $149.95 (A&T) 

Requires no cuts or MODS to an existing Big Board. Gives up to 670K storage on 
a single sided 8 in. diskette. With software to patch your CP/M* 2.2. 



PFM 3.3 2K SYSTEM MONITOR 



The real power of the Big Board lies in its PFM 3.3 on board monitor. PFM commands include: Dump Memory, Boot CP/M*, Copy, Examine, Fill Memory, Test Memory, Go To, 
Read and Write I/O Ports, Disc Read (Drive, Track, Sector), and Search PFM occupies one of the four 2716 EPROM locations provided. Z-80 is a Trademark of Zilog. 



Digital Research Computers 

w (OF TEXAS) 

P.O. BOX 461565 • GARLAND, TEXAS 75046 • (214)271-3538 



TERMS: Shipments will be made approximately 3 to 6 weeks after we 
receive your order. VISA, MC, cash accepted. We will accept COD's (for the 
Big Board only) with a $75 deposit. Balance UPS COD. Add $4.00shipping. 

USA AND CANADA ONLY 



'TRADEMARK OF DIGITAL RESEARCH. NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE ORIGINATORS OF CPM SOFTWARE 

"1 TO 4 PIECE DOMESTIC USA PRICE. 



MICRO CORNUCOPIA 

P.O. Box 223 

Bend, Oregon 97709 

503-382-8048 

Editor & Publisher 

David J. Thompson 

Assistant Editor 

Eric Belden 

Graphic Design 

Sandra Thompson 

Technical Department 

Dana Cotant Eric Roby 

Advertising Director 

Alice Holbrow 

Staff Assistants 

Dorcas Dsenis 
Tracey Braas Cary Gatton 

Typography 

Patti Morris & Martin White 
Irish Setter 

MICRO CORNUCOPIA is the 

single board systems journal sup- 
porting systems programming lan- 
guages and single board systems — 
including the Big Board, Big Board 
II, Xerox 820, Kaypro, and Slicer. 

MICRO CORNUCOPIA is pub- 
lished six times a year by Micro Cor- 
nucopia of Oregon, P.O. Box 223, 
Bend, Oregon 97709. 



SUBSCRIPTION RATES: 



^ 



lyr.(6 issues) ^^ $16.00 

lyr. (first class) ^ $22.00 

1 yr. (Canada & Mexico) $22.00 

1 yr.(other foreign) $30.00 

Make all orders payable in U.S. 
funds on a U.S. bank, please. 

ADVERTISING RATES: Available 
on request. 

CHANGE OF ADDRESS: Please 
send your old label and new ad- 
dress. 

SOFTWARE, HARDWARE, AND 
BOOK VENDORS: We would very 
much like to review your CP/M & 
MSDOS compatible products. Send 
materials to the Review Depart- 
ment, Micro Cornucopia. 

CP/M is a trademark of Digital Research, Inc. 

Copyright © 1984 by Micro Cornucopia 

All rights reserved 



nau coumcom 



October 1984 The Single Board Systems Journal No. 20 



SOG 
Aftermath! 




Let me warn you now, you're going to be 
hearing a lot about SOG III in upcoming is- 
sues of Micro C. You see, I was able to tape 
most of the sessions and there was a wealth of 
information shared in two intense days. One 
piece of information that really hit me came 
from Philippe Kahn, president of Borland In- 
ternational. 

Modula II, Wherefore Art Thou? 

Philippe was asked how soon Modula II 
would be available. "Shortly," he said. How- 
ever, that "shortly" referred only to the 8088/ 
8086 version. There will probably never be a 
Turbo Modula for the Z80. 

You see, Borland is a market driven 
company and marketing says that 70 
percent of current sales are for MS/DOS 
machines and they expect that within 
months they will see that margin go to 85 
percent. 

I've noticed that a lot of the fancy new 
software packages are being offered only 
for the PC bunch (including some really 
cheap ones like a high-speed WordStar 
look-alike for $35) and a really incredible 
$49.95 package called Sidekick that Phi- 
lippe demonstrated at the SOG. 

Actually, if I were going to write some 
new software, I'd take a hard look at the 
PC market too. After all, you'd not only 
have a huge and growing hardware 
base, but you'd also have a very clearly 
defined memory-mapped video moni- 
tor. 

A Real Standard 

Terminal definition is one area that CP/ 
M 80 ignored because there was simply 
no standard terminal. When IBM came 
along with the PC it not only sold a sys- 



tem, it sold a standard. A lot of writers 
yell about gutless me-tooers jumping on 
the IBM bandwagon, but it makes a lot of 
sense, not because IBM created the 
standard, or that the standard is perfect, 
but because there finally is a standard. 

This standard works because it defines 
the video, the expansion bus (you know, 
the plug in cards that handle color 
graphics, Winchesters, more memory, 
additional ports . . . ), the port address- 
es, the system calls, the monitor jump 
table, even the control functions on the 
keyboard. It is a real standard. 

Of course, some systems are better 
copies of the standard than others. For 
instance, the Compaq and the latest 
Heath/Zenith are very compatible, while 
the Sanyo is only slightly compatible (al- 
though, at the price, it is still a very good 
deal if you want a machine to do straight 
text editing, spreadsheets, or BASIC). 

The Heath machine is available as a kit 
which ought to make it interesting to a 
number of Big Board folks. However, the 
assembly is reported to be 37 hours of 
cabinet and cable work, circuit boards 
come already assembled and tested. 
(That's a long way from the early Heath 
Kits where you carefully wrapped wire 
leads around each tube-socket pin and 
then held a 75-watt soldering iron 
against the pins until you had smothered., 
the entire area with a glistening chunk of 
tin and lead.) Ah well, there ought to be 
something a person could do with an al- 
ready stuffed board — don't you think? 

The Z80 and Up 

Of course I would have preferred to 
see a Z80 based standard, but one big 
thing precluded that. You see, there was 
(and is) no chip that was upwardly com- 
patible with the Z80. The Z8000 was not 
compatible with its little brother (and it 
was slow getting into the market place as 
was the 68000 chip set). The Z800 which 
is supposed to be somewhat compatible 
with the Z80 has not yet seen the light of 
wholesaler's shelves (it may not ever be 
available). 

Meanwhile, Intel has a bevy of new 
heavies definitely on their way. In fact 

(continued on page 61) 



LETTERS 



Dear Editor, 

I discovered an obscure bug in my 
Kaypro-II and may even have figured 
out why it's there. When I have a value 
between 30H and 3FH in the I (index) 
register of Z80 and memory bank 1 is se- 
lected, my screen display gets weird: it 
fades way out and has the jitters. 

If I'm right, then all Kaypros which 
follow your schematic must have the 
same bug. According to Zilog's Z80 tech- 
nical manual, when the Z80 does a mem- 
ory refresh, the contents of the I register 
are placed on the upper 8 bits of the ad- 
dress bus, and a MREQ signal is issued. 
If the I register is between 30H and 3FH, 
this fools the CPU video access detector 
into thinking that video RAM is being ac- 
cessed, because it doesn't pay any atten- 
tion to the RFSH signal like it ought to. 
As a result, the screen is blanked on ev- 
ery refresh cycle! Maybe you can figure 
an easy way to fix this. 
David Hillman 
2006 NE Davis 
Portland OR 97232 



Dear Editor, 

I enjoyed reading Jan Korrubel's re- 
view of SWP's dual density package in 
your April issue. Having purchased this 
product a few months ago myself I've 
been equally pleased with it's perform- 
ance although I too found some damage 
on arrival. 

In my case the daughter board was in- 
tact but one of disks in the order had a 
stray board pin lodged in it's jacket. Af- 
ter carefully coaxing the pin out, I found 
it left a ghastly dent in the track area of 
the disk. I was lucky enough to be able to 
"iron" it out from the convex side so that 
I could make a successful copy. It would 
certainly be helpful if all distributors 
wold ship such packages with disks 
sealed in envelopes to prevent this sort 
of contamination. 

An annoying bug I found with the 
special-function keys is that if I try to use 
the screen dump in conjunction with the 
scroll pause the system locks up forcing 
me to reset to get out. 

I also found that the SETCLK.COM 
program on users disk #1 can easily be 
adapted for this BIOS by using DDT. 
Simply change locations 019EH and 



019FH (both 080H) to OCBH and 027H 
respectively. This replaces the two ADD 
A,B instructions with one SLA A in- 
struction so that the program can store 
the two-digit entries in each location as 
two BCD nibbles instead of one binary 
byte. The commands in DDT would ap- 
pear as follows: 



Modifying SETCLK 



A>ddt 

DDT VERS 2.2 

-Isetdk.com 

-R 

NEXT PC 

0200 0100 

-S019E 

01 9E 80 CB 

01 9F 80 27 

01 A0 81 . 

-"C 

A>SAVE 8 setclk2.com 



Paul R. Pederson 

8601 E. Old Spanish Trail 

Tucson AZ 85710 



Dear Editor, 

I recently received your Kaypro Disk 
K21 and encountered a minor bug in the 
screen dump. The first time through the 
dump works fine however when it ends 
it sends a message to my printer to go 
into a 5 CPI mode. The next printing 
whether dump or not is wide letters 5 
CPI. 

I then fiddled around with the source 
you sent along trying to insert an initiali- 
zation string but to no avail. My capabili- 
ties in this area are vey limited, so I'm 
looking for help. I have an Okidata 82A 
printer and the strings in hex are: IE = 10 
CPI; IF = 5 CPI. 
Jim Jensen 
353 Willow St. 
West Barnstable MA 02668 

Editor's note: 

It seems the non-blinking block cursor of 
our Pro Monitor ROM is being passed as a 
printer control character. We've fixed the 
dump programs on the new disks and will 
update any customer's disk that is giving 
them problems. 



Dear Editor, 

I installed the Pro-8 ROM package but 
could not format the odd numbered 
tracks on drive B or A. That problem 
turned out to be a trace connecting E40 to 
E27. This connected PA2 to PBRDY on 
U72, thus no floppy side select. 

However, I still could not format drive 
A. This turned out to be a bad drive, a 
new Teac. 

I have a fairly early Kaypro, but my 
board is not exactly like the schematic. 
For example, U2 was a 74S04 and all but 
one of the inverters were being used. Al- 
so, my board did not have the marking 
"E40." 

Do you know anyone who has a Sor- 
cerer (Exidy)? 
Lawrence Norton 
2490 Channing Way 
Suite 400 
Berkeley CA 94704 



Dear Editor, 

Last year you published the letter 
wherein I mentioned having 300 used 
disks to share with Micro C readers. 
Through that letter, I was contacted by, 
and am still writing to, some of the finest 
people I know. 

Well, once again I came up with a su- 
per deal, only this one will be more than 
25 cents per disk. The company I work 
for sells MicroPro and they just changed 
over from 8" format to 5" and recalled all 
the 8" "demo" disks from the field. 
Guess who bought them for scrap? 

I have about 35 sets of original, legal, 
serial numbered, demo disks which in- 
clude: WordStar, SpellStar, MailMerge, 
CalcStar, DataStar, and SuperSort. I 
would like to share these with those Mi- 
cro C readers who cannot afford to pur- 
chase good commercial software at 
standard prices. I cannot sell them, but I 
can charge for postage and handling 
(there is no documentation, but the 
built-in screens should be sufficient to 
get someone up and running). I am try- 
ing to raise enough cash to purchase a 
Kaypro or Slicer. 
Neil Joba 
4774 Carter Rd 
Fiarport, NY 14450 
716-377-3042 



Micro Cornucopia, Number 20, October 1984 



LETTERS 



Dear Editor, 

When I ordered my PRO-8 ROM on 
June 18, you asked me to let you know 
when Micro C #18 arrived. Issue #18, 
the PRO-8 set, and four Kaypro disks or- 
dered separately all arrived yesterday, 
June 25. When I renew my subscription I 
will go the 1st Class Mail Route. It's 
worth the extra money to avoid having 
to wait almost one month for the PO to 
get around to delivering bulk mail. 

The PRO-8 set arrived with the box 
squashed and soaking wet. The instruc- 
tions dried out OK and the ROMs look 
OK, at least there was no water inside 
the ROM package and the pins are 
straight. The disk cover has a slight 
crimp but the disk looks OK. Will have to 
wait about two weeks to find out if it real- 
ly works since I can't get the the II to 4 
conversion right now. My postmaster 
saw the package and she will testify 
abot- 'V condition if I have to make a 
claim. Have you considered offering to 
insure shipments at the buyer's request? 
I know it wouM cost more but it could 
save some aggravation. 
Bill Warshaw 
12 Tamara Drive 
Roosevelt NJ 08555 

Editor's Note: 

We know that bulk mail is slow (it's sup- 
posed to be 10 days maximum), but the price 
is right (12 cents per copy vrs. over a dollar). 
Also, only a very small percentage of the 
packages we send get damaged by the post of- 
fice so we take a chance by not insuring them. 
If any part of your shipment was damaged, 
fust return it and we'll send a replacement 
free. 



Dear Editor, 

Thought your readers might like to 
know that I've just finished interfacing 
my Kaypro-II to a 1908 steam locomo- 
tive. The Kaypro rides up front with the 
engineer and controls an automatic coal 
shoveler that's RS232 compatible. In ad- 
dition, I've dedicated an unused parallel 
port to control the pitch and duration of 
the steam whistle. 

I had a problem with heat, but I've 
solved that by keeping the Kaypro in a 



rather large cooler partially filled with 
ice. I've still got a problem with my disk- 
ettes, however. They won't fit with the 
Kaypro in the cooler, and the heat near 
the furnace causes them to take on funny 
shapes. Occasionally, I have to shove 
real hard to get them into the drives. Any 
ideas on keeping my diskettes cool? 

Also, I could use some advice on my 
next project, interfacing a Kaypro to my 
new hang glider. I can't find a place on 
the frame to bolt both the computer and 
two 12 volt batteries. 
Captain Mick, UFO Ret. 
1924 N. 6th St. 
Concord CA 94519 

Editor's note: 

Mick, I folded your letter into an airplane 
and attached a Kaypro. It didn't fly. (We are 
going to try from the top of a neighbor's flat- 
bed truck but we need to replace a cracked 
CRTfirst.) 

The idea of controlling an automatic coal 
shoveler doesn't auger well. Considering the 
environmental problems, you probably 
should buy a shovel and then use your cooler 
for beer. 

Perhaps other folks could offer advice on 
creative new interface ideas. We're planning 
to install a Kaypro-II in a 1967 Volksivagon 
Bug (if we can keep thebug running). At first 
it will be pure research, the driver will always 
have current information on pavement tem- 
perature, wind velocity, and satellite-based 
relative position. Then, for instance, we can 
tell if the vehicle is running by watching the 
relative position overa24 hour timeperiod (it 
would also be great for checking the progress 
of migrating turtles and the post office.) 



Dear Editor, 

Having recently purchased a Kaypro- 
10, and being all-too-human when it 
comes to accidental file deletions, I pur- 
chased a copy of Kaypro user disk K2, 
mainly for the UNERA and FIX pro- 
grams. I have, in playing with them, dis- 
covered that they have considerable 
trouble with restoring files on the Kay- 
pro 10 hard disk. 

The UNERA program says it is unable 
to locate the erased file, no matter which 
logical disk (A: or B:) or user number the 



file is associated with. The RECOVER 
command in FIX seems to hang the sys- 
tem while accessing the hard disk. How- 
ever, when the system is reset, the file 
appears to have been restored correctly 
and the directory structure is intact, but 
this is hardly confidence-inspiring. 

Is this behavior of UNERA and FIX 
known to others? If so, has anyone de- 
veloped a version of either program 
which is more comfortable with the Kay- 
pro 10 hard disk, or (even better) does 
anyone have a patch for one of the exist- 
ing programs? 
Christopher Pettus 
10920 Palms Blvd. Suite 110 
Los Angeles CA 90034 

Editor's Note: 

Well, help has arrived. We have found an 
UNERA that works well on the hard disk and 
have replaced the old copy of UNERA with 
the new version. However, FIX still occa- 
sionally hangs up on the 10. We haven't 
found an update for it yet. Those hard disk 
and hard luck purchasers of disk K2 can send 
their disk in for an updated UNERA. 



Dear Editor, 

I have modified a Xerox 820-11 so that it 
will display black characters on a white 
background. The problem I'm having, 
however, is that the people who built the 
display started with a good design and 
then removed parts until the unit was 
just barely working. So, I am having 
some problems with retrace blanking 
and there is a dark vertical bar in the cen- 
ter, probably due to unsufficient quies- 
cent current in the horizontal output. 

Can anybody help me find schematics 
of the analogue part of the Xerox 820-11 
monitor? I have tried Xerox-Finland etc. 
but they regard the analogue portion as a 
nonserviceable module. 
A W Gustafsson 
Kaptensgatan 2A5 
SF-22 100 Mariehamn 
Aland Islands, Finland, Europe 



(Letters continued on page 64) 



Micro Cornucopia, Number 20, October 1984 



MODEL 2000 



4 MHz Z80-A COMPUTER WITH HARD DISK INTERFACE 
AND UP TO A MEGABYTE OF RAM 



: f \i: $\ 

S> ?--3 « 'I :■: I': 



M 



$ 



I mWH) Hi Ml ■'■#: M ,*•■. i 
:Vt :t f : ' fVl .* ;:: 




ASSEMBLED 
AND TESTED 
BOARD WITH 
64K of RAM 



498 



00 



• PROCESSOR: 

A Z80-A cpu running at 4 MHz with no added wait states and supporting 
mode 2 interrupts. Sockets are included for the optional DMA controller and 
a 951 1 or 951 2 arithmetic co-processor. 

• MEMORY: 

Up to 1 megabyte of main memory may be plugged in to give the Z80-A 
phenomenal performance (4 banks of 64K or 256K rams). Bank selecting is 
in 1 6K segments so that there is no wasted memory. Any 1 6K segment may 
be placed into any one or more of the four 1 6K banks that the Z80 directly ad- 
dresses. A 65th segment contains the 4K video ram and 8K 2764 eprom. 
Any 16K segment may be write protected. 

• DISK DRIVE INTERFACE: 

The floppy disk controller is a WD 2797 and will run four 5.25" or 8" drives, 
single or double sided, single or double density and up to 255 tracks per 
side. 

The HARD DISK port is designed to accept a Western Digital hard disk 
controller. 

• VIDEO: 

A high quality 80 x 24 character display is produced by an SMC 5037 and 
8002A video chip set using 7 x 9 dot character in a 9 x 1 2 field. Video attri- 
butes include: reverse, blink, blank, underline and strike-thru. Two graphics 
modes are supported and may be displayed along with text. The final output 
is composite video for easy connection to most monitors. 

• KEYBOARD PORT: 

An interrupt driven serial port for the keyboard provides a true type ahead 
buffer and allows for a simple coiled cord connection to a detached 
keyboard. 

• INPUT-OUTPUT: 

The RS232-C serial port comes complete with a D-SUB connector and 

will communicate at 110 to 19.2K baud. The parallel printer port uses full 

handshaking and has a Centronics style connector. Optional ports include 

two additional RS232-C serial ports or a 800Kbit networking port and one 

**• RS232-Cport. 

• POWER REQUIREMENTS: 

5V at 1 .5 amp and + 1 2V at 0.1 amp 

• SIZE: 

8.5" x 13" 

• SOFTWARE: 

ETOS II operating system (CP/M 2.2 compatible) 

BIOS for 5.25" drives (Kaypro II & 4 format) and a HARD DISK. 

CP/M is a registered trademark of Digital Research 

TERMS: We ship C.O.D. inside the U.S.A. Prepaid Orders: inside California 
add 6% sales tax, freight extra, company and personal checks, please allow 
3 weeks to clear. Mastercard and Visa accepted. 




PRICES 

Assembled and tested board with 64K ram 498.00 

Keyboard 75.00 

Main case ; 100.00 

Keyboard case 25.00 

Drives single sided 150.00 

Drives double sided 175.00 

Video display, green 100.00 

5V 3 amp power supply 30.00 

12V 2 amp power supply 30.00 

Quiet fan 16.00 

Cable— floppy disk 5.25" 16.00 

Cable— 5 & 12V power 8.00 

10 MB half high drive 575.00 

Hard disk controller 250.00 

Hard disk cable kit 50.00 

Networking port '. 100.00 

2 extra serial ports 50.00 




8161 BROADWAY 

LEMON GROVE, CA 92045 

(619)466-1671 



Micro Cornucopia, Number 20, October 1984 



HSC 68000 Co- Processor 



By Mark Boyd 



Box83WSU 
Wichita KS 67208 



Single board computers are great, but 
I think double-board computers may be 
the wave of the future; at least for the 
serious microcomputer enthusiast. I'm 
talking about a double-board system 
consisting of a utility single board com- 
puter, e.g, a Kaypro or Big Board, and a 
co-processor board with a more exotic 
CPU having its own memory. 

Enter the 68000 

Following this concept, I bought a rea- 
sonably priced 68000 based system inte- 
grated (well, almost integrated, actually 
it's mounted on one side of the cabinet) 
with my Kaypro-II. There was no way 
that I could afford a Sage or other com- 
plete 68000 system, but I really wanted a 
68000. 

Now don't get me wrong, my Kaypro- 
II is by far the best buy in bundled com- 
puter hardware and software around. I 
have no complaints about the available 
CP/M 80 software either. The Z80 may 
even be a good microprocessor, but I was 
brought up on Motorola microproces- 
sors. Ever since I got my Kaypro I have 
wished that I could have all that great 
CP/M stuff and a Motorola microproces- 
sor to play with. 

HSC on the Horizon 

After considerable searching, I finally 
found a useful 68000 system that allows 
me to "have my cake and eat it too." The 
heart of this system is a co-processor 
board known as the CO-1668, sold by 
HSC INC. They also have a 8086/8186 
co-processor, the CO-1686, if you like 
that sort of thing. 

68000 systems have been available for 
quite a while now, but not at a price I was 
willing to pay. Sure it would be nice to 
have UNIX and 50MB of hard disk, but I 
just wanted a decent development sys- 
tem to play with. The CO-1668 co-proc- 
essor board makes this possible and it 
has a big price advantage over a full com- 
puter system. All it provides is a CPU, 
memory, and one relatively simple I/O 
channel. The host computer acts as an 
I/O processor controlling an extensive 
set of I/O devices. If the host is a mass 
produced utility computer system, the 
result is quite cost effective because of 
the low cost of the host hardware. 

The combination of the Kaypro-II and 



the CO-1668 gives you: 256K 6MHz 
68000 system with parity checking mem- 
ory, two drives, 80 X 24 display, key- 
board, printer port, RS-232 modem port, 
CP/M, and CP/M 68K (includes a C com- 
piler, assembler, linker). And best of all, 
the whole package is only about $2200 
(assuming you paid $1295 for the Kay- 
pro). For $700 more you can expand the 
68000 system memory to 768K. 

All the 68000 memory is available as a 
RAM disk for the CP/M 80 system and 
any increment of 128K to the original 
memory can also be used as RAM disk 
under CP/M 68K. 

Since both processors use CP/M, the 
file systems and the console command 
interpreters are completely compatible. 
This allows easy switching back and 
forth between the CPU's, and the use of 
CP/M 80 utility software with CP/M 68K 
files. (Editor's note, CPIM 68K looks like it 
may become the standard operating system 
for 68000 systems.) 

Minor Rain Clouds 

Probably this is sounding a bit too 
much like an ad. However, the only 
drawbacks I've discovered in this system 
are pretty minor. A caveat here; I've only 
been using the system for a limited time, 
maybe 60 hrs total. 

Perhaps the most serious drawback: 
the !@#$%CTRL thing is about 1/2 inch 
too big too fit conveniently inside the 
Kaypro. I had to mount it on the outside, 
at least for now. It requires less than 1 
amp at 5V, which the Kaypro provides 
without any problem. I am not sure how 
the Kaypro supply would do if the board 
was fully stuffed with memory. (HSC 
sells a separate case and power supply 
for the co-processor board.) 

This is a general purpose co-processor 
which will work with any Z80 based sys- 
tem running CP/M 2.2. 

The Kaypro-II drives (191 K) are usa- 
ble, especially in combination with the 
128 K RAM disk, for CP/M 68K, but a 
Kaypro 4 (390 K) would be better. I have 
had some minor problems with compati- 
bility between CP/M 80 and CP/M 68K; 
when using CP/M 80 initialized disks 
with CP/M 68K, the system tracks get 
written over by data files. This is a minor 
problem since those tracks are only used 
when you cold boot the system, warm 



boots of CP/M 68k don't use the disk. I 
just keep a separate boot disk and use it 
only for booting or setting up the RAM 
disk under CP/M 80. 

Cold booting is always on CP/M 80, 
then I run a program to load CP/M 68K 
and set up the I/O interface. It takes less 
than half a minute to be up and running 
CP/M 68K. 

To the casual user, CP/M 68K is CP/M 
80 2.2 with some minor enhancements. 
For the more serious user, the enhance- 
ments are quite significant. 

For instance, system calls are provided 
to take advantage of the much more so- 
phisticated 68000 processor. 

The version of C that is provided with 
the operating system does not support 
floating point, but it is quite powerful 
and does follow Kernighan and Ritchie. 
It provides many of the features of UNIX 
C, where they make sense in a CP/M 68K 
environment, or where they can be sim- 
ulated. 

I do not have much experience with C, 
but, after working with this C for a 
while, it does appear to be good imple- 
mentation. In fact, the entire CP/M 68K 
system seems to be designed around the 
UNIX C environment, a very good way 
to go with the 68000. 

Is There a Doc in the House? 

The software documentation supplied 
with the system is good, what there is of 
it. Several sections assume (explicitly) 
that you have other reference books and/ 
or manuals. This is frustrating since 
these references are neither supplied nor 
readily available. 

Hardware documentation is almost 
nonexistent. Installation is simple and 
well-documented. The overall quality of 
the documentation is good, but the cov- 
erage is barely adequate for an experi- 
enced user. There is no tutorial material 
nor any examples for any of the software 
other than the installation package. 

This system is not for an inexperi- 
enced user. Familiarity with CP/M and C 
is assumed. It also wouldn't hurt to be 
very familiar with the 68000 before read- 
ing the documentation. The system doc- 
umentation was designed for hardware 
neophytes with extensive software back- 

(continued next page) 



Micro Cornucopia, Number 20, October 1984 



HSC 68000 CO-PROCESSOR (continued) 



grounds. 

The software supplied with my sys- 
tem came on two IBM format DSDD 
minifloppies. It was a pain to get it 
down-loaded to Kaypro-II format. I 
think there was a misunderstanding 
when I ordered, since I requested stand- 
ard eight inch CP/M. HSC did offer to 
download to Kaypro-II format, for a fifty 
dollar charge. 

A source code package for HSC's part 
of the software is mentioned, but price 
and availability information are not giv- 
en. HSC says that the supplied source 
code is set up for their own assemblers. 
This means a further expense or hassle to 
use it. 



Speed 

The 6 MHz 68000 with 200 ns. memory 
should provide more than adequate per- 
formance by microcomputer standards 
(i.e. similar to the Slicer). The one bench- 
mark I have run is the BYTE version of 
the sieve algorithm in C. It took about 
ten seconds (six using register variables) 
for ten iterations. This is two and one 
half times as fast as the best 6 MHz Z80 
result given in the June 84 issue of BYTE. 

The C compiler makes three passes 
(plus the assembly pass and the linker 
pass) but the entire process can be con- 
trolled by supplied submit files and only 
takes about two minutes (using the RAM 
disk on a small program). The output of 
the linker is a relocatable object file. 

The archive program is used to build 
and maintain libraries of functions creat- 
ed as object code files. My overall im- 
pression is that CP/M 68K will be a very 
good program development environ- 
ment once I get it all figured out. Better 
documentation would make the figuring 
out process less time consuming. 



Conclusion 

The CO-1668 co-processor system is a 
nice piece of work. In conjunction with a 
single board Z80 based CP/M 2.2 sys- 
tem, it provides a powerful system at a 
very reasonable price. It is expandable, 
portable in the sense that it could be 
transferred to other Z80 based systems, 



and easy to install. It comes with a good 
software package but weak software 
documentation. The hardware looks 
good and works well, but is almost un- 
documented. I just wish it were 1/2 inch 
shorter so that it would fit inside my 
Kaypro. 



CO-1668 ($899.00) 

HSC. Inc. 

262 East Main St. 

Frankfort NY 13340 

315-895-7426 



A POWERFUL 68000 DEVELOPMENT 
ENVIRONMENT FOR YOUR Z80 SYSTEM 

C01668 ATTACHED RESOURCE PROCESSOR 



68000 Assembler 
C Compiler 
Forth 
Fortran 77 




Pascal 

BASIC-PLUS 
CBASIC 
APL. 68000 



6 MHZ 68000 CP/M-68K 768KRAM 

4 x 16081 MATH CO-PROCESSORS CPM80 RAM DISK 

Develop exciting 68000 applications on your current Z80 based CPM system using 
powerful mini-frame like 32 bit programming languages. And then, execute them at 
speeds that will shame many $100K plus minicomputer systems. 

The C01668 ATTACHED RESOURCE PROCESSOR offers a Z80 CPM system owner a 
very low cost and logical approach to 68000 development. You have already spent a 
small fortune on 8 bit diskette drives, terminals, printers, cards cages, power 
supplies, software, etc. The C01668 will allow you to enjoy the vastly more powerful 
68000 processing environment, while preserving that investment. 

C01668 ATTACHED RESOURCE PROCESSOR SPECIAL FEATURES: 



68000 running at 6 Mhz 

256K to 768K RAM (user partitioned between 

CPU and RAM Disk usage) 

Up to four 16081 math co-processors 

Real time clock, 8 level interrupt controller 

& proprietory I/O bus 

Available in tabletop cabinet 

Delivered w/ sources , logics, & monolithic 

program development software 



Easily installed on ANY Z80 CPM system 

CP/M-68K and DRI's new UNIX V7 compatible 

C complier (w/ floating point math) - standard 

feature 

Can be used as 768K CPM80 RAM Disk 

Optional Memory parity 

No programming or hardware design required 

for installation 

Optional 12 month warrantee 



PRICES START AS LOW AS $899.00 for a C01668 with 256K RAM, CPM68K, C Complier, Sources, 
Prints, 200 page User Manual, Z80 Interface, and 68000 System Development Software. 



For further information about this revolutionary product or our Intel 8086 Co-Processor, please send $1 
[no checks please] or call: 



me 



Hallock Systems Company, Inc. 
262 East Main Street 
Frankfort, New York 13340 
(315) 895-7426 



RESELLER AND OEM 
INQUIRIES INVITED. 



Micro Cornucopia, Number 20, October 1984 



IL 



INTRODUCING 

THE CVPHER 



IL 



A COMPLETE 68000 & Z 80 
SINGLE BOARD COMPUTER SYSTEM 
WITH ULTRA-HIGH-RES GRAPHICS!! 




• 68000 & Z80 DUAL PROCESSORS (BEST OF BOTH 
WORLDS!). 

• 256K TO 1 MEGABYTE MEMORY. 

• DOUBLE DENSITY FLOPPY DISK CONTROLER (8" OR 
5V4". WD 2797) 

• DMA CONTROLLER FOR FAST IMAGE TRANSFERS TO/ 
FROM VIDEO MEMORY. (INT 8237) 

• 2 RS232 SERIAL PORTS (ZSIO). 

• 24 BIT ADDRESS MANAGEMENT FOR Z80. 

• 4 LAYER P.C.B. (9Vi X 14W) 



• ULTRA HIGH RESOLUTION GRAPHICS. 128K. 
PROGRAMMABLE UP TO 1024 X 1024 RESOLUTION 
(NEC 7220, GREAT FOR CAD SYSTEMS!). 

• REAL TIME CLOCK (MULTITASKING CAPABILITY!) 

• TWO CHANNELS OF D/A AND A/D. 12 BIT 
RESOLUTION (MUSIC! ROBOTICS!). 

• 16K TO 64K MONITOR EPROM 

• 4K TO 64K STATIC RAM. 

• PROGRAMMABLE BAUD RATE GENERATOR. 

• PARALLEL ASCII KEYBOARD INPUT 

• FULL 68000 EXPANSION BUS (60 PIN HEADER. 
BUFFERED) 



HARD DISC INTERFACE PLUG-IN CARD (AVAILABLE SOON) 



MANUAL $ 20.00 COMPLETELY ASSEMBLED "CYPHER" WITH 256K DRAM. 

BARE BOARD. EPROMS. CPM-80 BIOS. CPM-68K BIOS 280 '28K VIDEO DRAM. NEC 7220. PEAL TIME CLOCK. A/D D/A 

MONITOR, 68K MONITOR AND UTILITIES S 449.95 * 1 .549.95 

BASIC ASSEMBLED SYSTEM TESTED WITH 68000/Z80. KEYBOARD $ 94.95 

SERIAL I/O. 1 28K DRAM, 4K S RAM AND DISK CONTROLLER SWITCHING POWER SUPPLY S 1 54.95 

$1 ,1 49.95 CASE S 94.95 



ALL PRICES ARE IN US DOLLARS 

SHIPPING 8% SHIPPING. EXCESS WILL BE REFUNDEI 

DELIVERY WILL BE MADE APPROXIMATELY 3 TO 5 

WEEKS AFTER WE RECEIVE YOUR ORDER VISA. MO 

CASH 

PRICES SUBJECT TO CHANGE WITHOUT NOTICE 



fit 

MOTEL COMPUTERS LIMITED 

174 BETTY ANN DRIVE,WILLOWDALE, 

ONTARIO, CANADA M2N 1X6 

(416)221-2340 



CALL WREN! 

DISKS: 



Dysan 



Verbatim 



5V* 


SSDD 


S3.40 


5Va 


SSDD 


S2.70 


SV* 


DSDD 


4.45 


5V 4 


DSDD 


3.75 


5% 


SS4D 


4.85 


5 1 /4 


SS4D 


3.50 


SV* 


DS4D 


5.40 


5V4 


DS4D 


4.75 


8 


SSSD 


3.85 


8 


SSSD 


3.10 


8 


SSDD 


4.85 


8 


SSDD 


3.40 


8 


DSDD 


5.40 


8 


DSDD 


3.80 



Disk Mailers 10 for S5.00, 100 for S40.00. 

PRINTERS: ^M 



OKI 










82 A 


S&P 


8.5 Carr. 


120 CPS 


S 325 


83 A 


S&P 


13.6 Carr. 


120CPS 


575 


84 P 


P 


13.6 Carr. 


200 CPS 


975 


84 S 


S 


13.6 Carr. 


200 CPS 


1065 


92 P 


P 


8.5 Carr. 


160 CPS 


440 


92 S 


S 


8.5 Carr. 


160 CPS 


530 


93 P 


P 


13.2 Carr. 


160 CPS 


715 


93 S 


S 


13.2 Carr. 


160 CPS 


900 


2350 


P 


13.6 Carr. 


350 CPS 


1975 


2350 


s 


13.6 Carr. 


350 CPS 


2025 



DRIVES: 

Tandon 848-1 8 SSDD S325. 

Tandon 848-2 8 DSDD 375. 

Tandon 100-1 5 1 / 4 SSDD 175. 

Tandon 100-2 5 1 / 4 DSDD 238. 

513-931-71601 



Minimum Order S30.00 



WREN 



880 Reynard 
Cincinnati, Ohio 45231 



THE LITTLE BOARD® 

OEM — INDUSTRIAL — SCIENTIFIC 

SECOND GENERATION SINGLE BOARD COMPUTER KIT! 

4 MHZ Z80* CPU! 64K RAM! DOUBLE DENSITY! 



FREE CP/M* 2.2!!! 
A $139 VALUE! A FREE 

5-1/4 IN. CP/M 2.2 

DISKETTE IS INCLUDED 

WITH EACH KIT. 



A. & T. UNITS 
$349 




% 



«W 



$09500 

(COMPLETE KIT) 



MINI-SIZE: 

ONLY 

5-3/4 x 7-3/4 INCHES 



FULLY SOCKETED! PERFECT MATE TO OUR ZRT-80 TERMINAL BOARD. THROUGH SPECIAL ARRANGEMENT 
WITH AMPRO COMPUTERS, WE ARE PLEASED TO OFFER THEIR LITTLE BOARD® IN KIT FORM. 

FEATURES: 



4 MHZ Z80 CPU! 



DOUBLE DENSITY (5-1/4 IN.) FLOPPY CONTROLLER 



64K DYNAMIC RAM! 



CENTRONICS STYLE PARALLEL PRINTER PORT 



USES +5VDC @ .75 A. AND +12VDC @ 50MA 



TWO RS232 SERIAL PORTS 



SAME SIZE AS A MINI FLOPPY 



2732 BOOT EPROM 



Digital Research Computers 

W (OF TEXAS) ' 

P.O. BOX 461565 • GARLAND, TEXAS 75046 • (214)271-3538 



TERMS: Shipments will be made approximately 3 to 5 weeks after we 
receive your order. VISA, MC, cash accepted. We will accept COD's with a 
$75 deposit. Balance UPS COD. Add $4,00 shipping. 
USA AND CANADA ONLY 



LITTLE BOARD® — AMPRO 

Micro Cornucopia, Number 20, October 1984 



Z80™ — ZILOG CP/M'" DIGITAL RESEARCH (CA.) 



DynaDisk For The BBII 



By Donald H. Bundy and Curtis Edmonds 



1884 Randa Lane 

Las Vegas NV 89104 

702-457-3005 



Xhe BBII can be modified to run the 
DynaDisk from L.A. Software with very 
few circuit changes, but first we outfitted 
our BBIIs with Andy Bakkers "mixed" 
version of CBIOS (available through Mi- 
cro C) which supports both 5 and 8 inch 
drives. 

Using The Dyna 

There are two ways to run Dyna. In 
the first method, we read an 8" disk into 
Dyna using BEGIN.COM. Then SWAP- 
.COM reassigns Dyna as drive A and 
sets up the system to warm-boot from 
ROM. At the end of the work session, 
QUIT.COM copies the contents of Dyna 
back onto an 8" disk. 

When we are working from a 5" drive, 
we format Dyna with FORAM.COM and 
then use PIP to transfer files into and out 
of the RAM disk. 

Mixed Modifications 

The first modification dates back to the 
installation of the mixed BIOS. 

We used a small piece of perforated 
board (see Figure 1) to mount a multi- 
plexer chip (74LS157). The board plugs 
into jumpers JB4, JB8, and JB5 which are 
located along one side of the floppy con- 
troller chip. We cut up a wire- wrap sock- 

Figure 7 - Multiplexer 



ftJI2" LENGTH 



JB35 



m 



4 



•JB-4 



JB-34* «JB-8 



16 PIN 
74LSI57 



Figure 2 - interface Board 



J9 



JI0 



34 PIN 

I 1 I I I I I I I I I I I I 1 1 



I I I I I I I 1 I 1 I I I I I I I 



et and mounted it on the board so that its 
holes matched the pins on JB4, JB8, and 
JB5. 

Note that the connector groups on the 
BBII are not on 0.1 inch centers so some 
holes must be enlarged or redrilled in the 
small card before the sockets can be 
epoxied in place. 

The connection to JB35 was made with 
a short piece of 3-conductor ribbon ca- 
ble. A socket cut from the wire wrap 
socket plugs into JB35. 5v is available at 
JB34-3 and ground is available at JB4-1. A 
0.1 or 0.01 capacitor should be soldered 
across the power leads. 

You'll need another small piece of per- 
forated board to build a connector to in- 
terface between the RAM disk and the 
BBII (see Figure 2). Cut connectors from 
an old wire-wrap socket. Again, the 
spacing between the connector groups 
on BBII are not on 0.1 inch centers so 
you'll need to re-drill as before. 

You can mount a 34-pin right angle 
header between the area above J10 and 
Jll. As an alternative you can jumper J10 
underneath to BBII board (or wire-wrap 
on top) or you can use a strip of socket to 
plug into J10 and add jumpers on the 
small perforated card. 

When all the connections have been 
made, cut the exposed extra length from 
the wire- wrap pins. A drop of solder on 
each pin improves appearance and cov- 
ers the sharp ends while making the con- 
nections permanent. 

We also modified our Dynadisk, we 
added a 74LS74 D type flip-flop to delay 
CAS for one additional clock cycle. 

There is also another way to handle 
this (if it hasn't been done already). 
There are some spare gates on the card 
and if you prefer not to add the flip-flop, 
see Figure 3 and do the following: B5 and 
F5 are spares in location 8, 9 and 10. Con- 
nect B5 pin 10 to D4 pin 4(-0B), B5 pin 9 to 
+5V, connect B5 pin 8 to F5 pin 10, con- 
nect F5 pin 9 to C4 pin 8(-CADRS), and 
connect F5 pin 8 to CI pin 15. The trace to 
CI pin 15 must be cut so it only goes to F5 
pin 8. 

Changes To The BBII 

Modifications to the RAM disk are 
necessary because the BBII uses simple 
latches in place of the PIO . 

Install a socket in the BBII's prototype 



area (we will call this K5), see Figure 4. 
Cut the trace -RAS from C4 pin 6 near B5 
pin 5. Connect K5 pin 6 to B5 pin 5. Con- 
nect K5 pin 4 to +5v. Connect K5 pin 5 to 
-OH at D4 pin 13. Cut the trace from the 
interface connector J5 pin 22 (BRDY) to 
D5 pin 13. Connect K5 pin 8 to D5 pin 13. 
Connect K5 pin 3 to K5 pin 10 and to 
K5 pin 9 with a IK ohm resistor. Connect 
a 1000 pF capacitor from K5 pin 9 to 
ground. These two parts create a small 
delay. Connect +5V to K5 pin 2 and con- 
nect K5 pin 1 to interface connector J5 pin 
22.. 



BBII Parallel Interface 

Finally, you must modify the BBII's 
parallel interface. The DATA-IN on J10, 1 
thru 15 (odd only) must be paralleled 
with DATA-OUT on Jll, 1 thru 15 (odd 
only). 

As we noted previously on the de- 
scription of the connector, you get to de- 
cide which of the options you prefer to 
do. Only three jumpers are required. 
Cut the trace between U100-11 and 
U101-3, being sure to leave the trace 
from U101-3 to U102-7 (see Figure 5). 
Connect U100-11 to U105-1. Connect 
U103-1 to U105-8 (-ODAV2). Connect 
J10-19 to J9-19. Again you decide: you 



Figure 3 - Wiring Spare Gates 



CI - 15 




C4-8 



Figure 4 - Prototype Area Circuit 

u^t — +5 

^^_J£ 0H 



J5-2«-%( B5 5 6 



J5-22< 
+5 






j 



8 



Micro Cornucopia, Number 20, October 1984 



can do it on the BBII card, on the connec- 
tor, or on the perforated card. 

Connect the BBII to the Dynadisk with 
a 34-conductor flat ribbon. The point-to- 
point wiring list is shown in Figure 6. 



Figure 5 - Parallel Port Modifications 



If you want to add some things your- 
self, you might add an auto refresh to the 
Dyna. Another change that looks rather 
simple is upgrading to 256K RAM chips. 
We don't plan to try this modification 



0UT3- 



1» 



s 

D Q 
UI00 



t> Q 

R 



I0D7- 
6- 
5- 

4- 
3- 

2- 

I - 
IOD0- 



JH 



74LS 
373 



OE 



V. 



'-U 



I0I-74LS04 



IN2- 



1l 



s 

D Q 



UI05 



Q*-i 



I0D7- 
6- 
5- 
4- 
3- 
2- 
I - 

IOD0- 



UI04 

74 LS 
373 



OE 



13- 



-> J9- 15 037 



-13 
-I I 

- 9 

- 7 
-5 

- 3 



-> J9- I 030 



-> J9-20 OEI 
-> J9 -17 ODAVt 



7 



"> J9- 19 TAKE) 



T^j 



UIOI-74LS04 



-> JI0-I5 127 



-13 
-II 
-9 
-7 
-5 
-3 



-> J 10 - I 120 



X* 



JI0-I9 GIVE2 



until the cost of 256K chips comes down. 

We haven't tried our current CBIOS 
with a Winchester because we don't have 
one. When we get one, we will incorpo- 
rate whatever changes are necessary and 
make them available. 

Software will be available on 5 inch 
diskette for $15 from: 

Curtis Edmonds 
300 E. Kimberly Dr. 
Henderson NV 89015 



Figure 6 - Interface Cable Connections 



-> J 10 — IT IDAV2 



BBII 

J11-1 

J11-3 

J11-5 

J11-7 

J11-9 

J11-11 

J11-13 

J11-15 

J11-19 

J11-17 

J9-19 

J9-17 

J9-1 

J9-3 

J9-5 

J9-7 



Dyna 

J5-6 

J5-8 

J5-10 

J5-12 

J5-14 

J5-16 

J5-18 

J5-20 

J5-2 

J5-4 

J5-24 

J5-22 

J5-26 

J5-28 

J5-30 

J5-32 



PUT TIME OUT OF MIND, INTO MEMORY WITH... 
MICROCRON 



"Finally, a real time calendar/clock for the 820, 
820II and Big Board. Time stamp files, document 
-printouts. Your computer need never ask YOU the — 
time again. We use an OKI clock chip with a lithium 
"battery backup. Crystal controlled to time resolutions' 
-of one second. 12/24 hr. format, even keeps track 
.of leap year. Board simply plugs into parallel port. 
„It comes with software on disk and manual 
.Please state type of system and 5 l A or 8 inch disk 
■Let MICRONCRON put time out of mind, into memory. 




:MC - 1 with disk $69.i 



MC, VISA COD. CHECK. 
PS*H$2. NYS ADD TAX 

Xerox 820. 820 II trademark of Xerox 



716-377-0369 

POBOX81 

PITTSFORD, NY 14534 



D OPTRONICS 
TECHNOLOGY 



!§$$ 



Micro Cornucopia, Number 20, October 1984 



8" Dual Drive System 

2 FDD 200-8 disk drives (NEW) 

fiberglass case 

1 1L x 19W x 22H 

self contained power supply 

fan cooled 

$650.00 f.o.b. 



Siemens Disk Drive 

Brand New 

SS/DD (FDD 100-8) 
factory warrentee 
$159.00 f.o.b. 

DS/DD (FDD 200-8) 
factory warrentee 
$219.00 f.o.b. 




Computer Table 

36L x 26W x 25H 
laminated top 
steel sides 
steel legs w/levelers 
$75.00 f.o.b. 




Keyboards 

used/tested 
7 bit ASCII 
stl & alum case 
single voltage 
varied mfgrs. 
$35.00 f.o.b 

8" Disk Drive 

removed from sys. 
mfgrd. by MPI 
220 volt motor 
w/schematic 
complete w/PC board 
sold "as is" 
$50.00 f.o.b. 



Diablo P-11 Printer 

Brand New 

100 CPS 9x7 dot matrix 
Centronics parallel 
96 ASCII chars, 
adj. tractor feed 
$300.00 f.o.b. 



Monitor Kit 

12" CRT P4 phos 
steel chassis 
12 VDC video board 
horz/vert input 
$35.00 f.o.b. 



Data Royal Printer 

used/refurbished 
tested & guarenteed 
u/l case & graphics 
RS232 - 120 cps 
9x7 dot matrix 
15" adj. tractor feed 
bi-dir - ASCII - self test 
$300.00 f.o.b. 




Hazeltine 1410 Sys 

Brand New 

Hazeltine 1410 terminal 
TeleData 300 baud modem 
RS-232 cable 
$350.00 f.o.b. 

Misc. Equip. 

DB25 cable (m/m,m/f) $15.00 
2 for $25.00 

4" muffin fans 6/$15.00 

3" sprite fans 6/$15.00 

16 pin IC sockets 
70/$10.00 

edge connectors $1.00 

EPROM (2716)- $1.00 

mini toggle switches 

5/$1.00 
woven ribbon cable 
40 pin IDS/40 pin IDS (10') 
$10.00 ea. 3/$25.00 

min. order $10.00 



BMC Monitor 

12" P-31 green phos 
hi res 15 Mhz 
80 x 24 chars 
refurbished & tested 
composite video 
BNC video thru port 
all external controls 
$65.00 f.o.b. 

12" P-4 B &W 
same specs 
$50.00 f.o.b 




Computer Table 

Brand New 

26L x 28W x 27H 
laminated top 
steel sides 
steel legs w/levelers 
$59.00 f.o.b. 




Keytronic Keyboard 
Brand New 

8 bit ASCII 
single voltage 
w/schematic 
numeric keypad 
w/o case 
$35.00 f.o.b. 

SELECTRONICS 

Dealers in new-used-rebuilt 
elec equip & peripheals 

1229 S. Napa St. 
Phila.,Pa. 19146 

215-468-4645 

we ship anywhere 

all prices are f.o.b. 

our warehouse 



10 



Micro Cornucopia, Number 20, October 1984 



BB I : ETX/ ACK Serial Print Driver 



By Norman B. Doty 



Xhis routine will allow you to use a 
diablo hytype or other printer that re- 
quires the ETX, ACK protocol with your 
BB I or Xerox 820. 1 incorporated the fol- 
lowing changes into the CBIOS on user's 
disk B2 (the CBIOS and BOOT on that 
disk work fine on both the BB I and the 
Xerox 820). 

The changes to the BIOS are simple: 

1. Four lines are added to the equates 
in the start of the cbios. 

2. In the warm boot area a small rou- 
tine called CLRSIO is used to flush all 



CBIOS Changes for ETX I ACK Protocol 
(CHANGE 1) 



3242 Walden Ave. 
Depew, NY 14043 



four of the SIO's input buffers, just in 
case there is data already pending. 

3. Next is the LSTOUT routine which 
is documented by the remarks in the list- 
ing. 

4. Last is the initialization of serial port 
B for the required baud rate. This is 
placed in the INTAB area for use on boot. 
If you select a lower baud rate compati- 
ble with the printer (like 300) then you 
won't need any of the protocol since the 
printer can keep up with the data. 

5. Don't forget to change the jump 
vector at the start of the cbios. 



SIOOUT EQU 0F018H 

SIOIN EQU 0F015H 

SIOST EQU 0F012H 

ETX EQU 3 



;M0NIT0R SERIAL OUTPUT ROUTINE 
;M0NIT0R SERIAL INPUT ROUTINE 
{MONITOR SERIAL INPUT STATUS 
{ASCII END OF TEXT CHAR. 



(CHANGE 2) 








LD 


B,4 


{LOAD COUNT TO FLUSH SIO INPUT REG'S. 


CLRSIO: 


CALL 


SIOST 


{ALL FOUR OF THEM 




INC 


A 






CALL 


Z, SIOIN 






DJNZ 


CLRSIO 




(CHANGE 3) 






LSTOUT: 


LD 


A,C 


{MOVE DATA 




CALL 


SIOOUT 


{WRITE IT TO THE SERIAL DEVICE 


! 


LD 


A,C 


{MOVE DATA AGAIN BECAUSE SIOOUT DOES NOT 
RETURN CONTROL CHARS. THAT WERE SENT TO IT 




CP 


OAH 


{TEST FOR LF 




JR 


Z.LST1 


{JUMP IF SO 




RET 






LST1: 


LD 


A, ETX 


{LOAD END OF TEXT 




CALL 


SIOOUT 


{WRITE IT 




XOR 


A 


{TWO NULLS TO FLUSH THE SIO OUTPUT BUFFERS 




CALL 


SIOOUT 






XOR 


A 






CALL 


SIOOUT 






LD 


HL,0 


{LOAD MAXIMUM DELAY 




LD 


BC,1 


,-LOAD DECREMENT COUNT 


LST2: 


CALL 


SIOST 


{CHECK SIO STATUS 




INC 


A 


{ADJUST THE STATUS 




JR 


Z, LST3 


;G0 TO NEXT STEP IF DATA IS AVAIL. 




SBC 


HL,BC 


{ELSE DECREMENT MAXIMUM DELAY 




JR 


NZ.LST2 


;RE-DO IF THE DELAY NOT TIMED OUT 




RET 




{RETURN AFTER MAXIMUM DELAY & NO CHAR PENDING 


LST3: 


CALL 
RET 


SIOIN 


{READ SIO TO FLUSH THE CHAR PENDING 


(CHANGE H) 








DEFB 


01 


{LENGTH OF TABLE DATA 




DEFB 


0CH 


;SIO PORT B ADDRESS 




DEFB 


07 


{CODE FOR 1200 BAUD 




DEFB 


0FFH 


;END OF TABLE 




END 







EZPROMMER 

EPROM PROGRAMMER 

FOR THE BIG BOARD 
AND XEROX 820 

FEATURES: 

• Supports 2716, 2732, 2732A, 
2764, 27128, 27256 

• Easily installed with only two 
connections 

• No external supply needed, all 
power denved from +5 Volts 

• All power controlled by 
software 

• Extensive MENU driven soft- 
ware to Read, Program, Save, 
Load, Verify CRC check, 
Dump, Erase check complete 
with source code 

• Over one year of troublefree 
use. 

EZPROMMER 

A&T w/Harness, Disk . . . .$125 
KitwithDisk $90 

APL 

CHARACTER GENERATOR 
FOR XEROX 820-11 

Upgrade kit allows the 820-11 to 
display all the standard charac- 
ters and attributes while permit- 
ting the display of all APL char- 
acters. Kit includes ROM and 
software. 

APL UPGRADE KIT . . . $49.95 

NY RES. ADD LOCAL TAX. POSTAGE 
AND HANDLING $2.00 
VISA, MC, CHECK or COD 

716-377-0369 

OPTRONICS 

TECHNOLOGY 



D 



P.O. BOX 81 
PITTSFORD, NY 14534 



Micro Cornucopia, Number 20, October 1984 



11 



Integrated BIOS 
for BB II 

This BIOS adds special features 
for floppy and Winchester users. 

Floppies 

Read and write almost any 5" 

and/ or 8" disk format 

40 formats included 

(Kaypro, Osborne, IBM . . .) 

Use any type of 5" and/ or 8" drive 

(SS, DS, 40- 77- or 80 tracks) 

New SYSGEN works directly 

between 5" and 8" disks. 

May be configured for Jim F.'s 

256K RAM disk, ZCPR2, 
Centronics, CP/ M in ROM, etc. 

Winchester 

Winchester formatter and new 

Winchester SYSGEN (can make 

the Winchester drive A:) 

Supports XEBEC and 

ADAPTEC controller. 

Subdivides into any specified 

number of drives. 

Also includes code for 
the New BB II monitor 

(with all know bugs fixed) 
Price: $129.95 

SASI Interface for 
BB I and Xerox 820 1 

Includes pcb with components, 
BIOS, Formatter, and Sysgen. 

Winchester formatter 

automatically assigns alternate 

track(s) for track(s) with bad 

sector(s). Using the Xebec 

controller version F. 

Price: $99.95 
In North America contact: 

Bob New 

P.O. Box 62-0427 

Woodside, CA 94062 

(415) 851-7140 

Rest of the world: 

ANDY BARKERS 

De Gervelink 12 

7591 DT Denekamp 

The Netherlands 

(..31-5413-2488) 

Please pay with US — S Money Order. 

12 



PROGRAMMERS 




A LOW COST ALTERNATIVE 
TO EPROM PROGRAMMING 

Reads and programs 2716, 2732, 2764, and 27128 EPROMS. 

Reads 2-16K ROMS. 

Direct connect to any RS232C terminal or computer. 

Plug selectable as either a data set or data terminal. 

All voltages made on board, (no power supplies needed). 

(User supplies power Xformer, 25.2 to 30 VAC C.T.I Amp.). 
Power electronically switched, (can't damage EPROMS). 
Zero insertion force socket for EPROM. 
Programs, verifies, and dumps in both ASCII and hex. 
Edit buffer (like DDT). 

Saves hex and/or image files to and from disk. 
Saves or loads all or partial buffer. 
Completely menu driven for ease of operation. 
Commands of Test, Read, Display, Save, Load, Program and more. 
Check sum calculation. 

All software on disk including well commented source code. 
Detailed owners manual including schematic 
All chips socketed. 

Not a kit! Completely built and tested. 
48 hour dynamic burn-in and test before shipment. 
90 day limited warranty on parts and workmanship. 
24 hour return policy on repairs. 
Delivery from stock. 

NOTICE TO PREVIOUS CUSTOMERS: Send us your old disk and a 
suitable S.A.S.E. for your free copy of our new software, ver. 1.6. 
PROGRAMMER 4+ WITH OWNERS MANUAL AND DISK. $199.95 



Order from 



pperipfico 



of: 



9W 



■Q 1659 Scott Blvd., Suite 1 



Santa Clara, CA 95050 
(408) 244-5214 



VISA and MASTERCARD telephone orders welcome. 

Please specify Disk format 

CP/M 8" IBM format, KAYPRO II, XEROX 820, OSBORNE I, others. 

Please specify method of shipment, UPS or Postal Service. 
California residents add 6% Sales Tax. Dealer Inquiries invited. 



Micro Cornucopia, Number 20, October 1984 



More I/O On the BBI 



By Roger E. Nasiff 



103 Highview Dr. 
Syracuse NY 13209 



The BBI uses a 74LS138 (U85) to select 
one of eight I/O components. To add 
eight more I/O components, a 74LS154 
can replace the 74LS138 to select one of 
16 components. If more that 16 I/O com- 
ponents are needed, different address 
lines can be used to activate other 
74LS154 decoders. For brevity, this dis- 
cussion will concentrate only on replac- 
ing the '138 with a '154 to provide 16 I/O 
selections. 



Figure 1 - Current I/O Decoding 



74LSI38 SOCKET 




Vcc 




+ 5 



S10CE 



BAUDS 



I77ICS 

>!2 SCROLL 

2 CTCCE 



Expansion Hardware 

Figure 1 shows the current BBI I/O se- 
lection hardware. In figure 2, you can see 
the new I/O selection hardware sup- 
ports eight more I/O components (la- 
belled PIOl-4 and SIOl-2). To provide 
the eight additional selections, I tied into 
pin 3 of U70 (see pin 20 of the 74LS154 in 
figure 2). To enable the 74LS154, 1 added 
a 74LS02 quad NOR. 



Constructing the I/O expansion 
selector: 

1 . Take U85 out of its socket. 

2. Put the 74LS154 and the 74LS02 on 
a small wire-wrap board along with an 
IC socket for the interface cable to U85's 
socket. 

3. Build an IDC cable and plug one 
end into U85 and one end into the IC 
socket on the new board (to connect all of 
U85's fines to the 74LS154/74LS02 cir- 
cuit). 



4. Plug a wire into pin 3 of U70 (to pick 
up A5B) and connect the other end of the 
wire into a socket hole on the little board 
to go to pin 20 of the 74LS154. 

Total construction and testing time 
should take about an hour. I set up the 
PIOs and SIOs the same way they were 
originally connected in the BBI, so all of 
the regular BBI software assignments are 
the same, with the additional software 
shown in the figure 3. Note that the BBI 
decoding design was maintained. 

As an application, assume that a PIO 
was connected the same way as the GP- 
PIO. The PIOl line would be used in- 
stead of GPPIO line for CE of the new 
PIO (pin 4 of the PIO), then ports 21 and 
23 would be control and ports 20 and 22 
would handle data. 

Note that no interrupt capability has 
been described for the additional I/O 
components, but if Z80 peripherals (e.g. 
PIOs and SIOs) are used, the usual IEI/ 
IEO/INT daisy chain connection tech- 
nique can be used. 



Figure 2 - Modified I/O Decoding 



Figure 3 - New Port Addresses 



74LSI38 


74LSI54 


E2 


E3 


E0 








1 



1 
1 


1 


1 



1 
1 



U85-I5 BAUD A (00 0000 DO)- 
U85- 



SIO CE (00 0001 DO)' 



GP PIO (00 0010 DD) 



BAUD B (00 001 I DD) 



17 71 CS (00 0100 DD) 



14 
U85-I3 
U85-I2 
U85-II 

U85-I0 SCROLL (00 0101 DD)- 

U85- 9 CTC CE (00 0110 DD) 

U85- 7 KBDPIO (00 111 DD)' 

PIO I (00 1000 DD) 

PIO 2 (00 1001 DD) 

PIO 3 (00 1010 DD) 



U85- 8 



74LS02 
I 



U85- 6.E3 ["TrApp! 



U85- 5,E2- 




* 



Port 





I (LSB) 

2 

3 

4 

5 

6 



-Ol 7 

8 



9 
10 

GND 



Decode Design 

0= PORT A 
SELECT I/O I = PORT B 

PIOS: X . D D D D, D D 



V^ 



U 



1 



SELECT IC 0=DATA 

I -CONTROL 



Vcc 
A (A0) 
B (A I) 
C (A 2) 
D (A3) 

11 



E0 
15 f> 
14 

13 f> 
12 p 
I I 



U85-I6 
U85- I 
U85-2 
U85-3 
• U70-3 
•U85-4 



(A2B) 
(A3B) 
(A4B) 
(A5B) 
(A7B) 



SIO 2 (00 I I I I DD) 

•SIO I (00 1110 DD) 

• PIO 6 (00 I 101 DD) 

•PI05 (00 I 100 DD) 

-PI04 (00 1011 DD) 



0: DATA 
SELECT I/O I = CONTROL 

4/ . * ■ 

SIOS: 0X V D D D Dy DD 

SELECT IC 0s PORT A 
IMPORT B 



0-3 Channel A Baud Rate 

4,5 SIO Data Chan A,B 

6,7 SIO Cntl Chan A,B 

8,9 GP PIO Port A Data, Cntl 

A,B GP PIO Port B Data, Cntl 

C-F Channel B Baud Rate 

10,11 1771 Stat/Cmd Reg, Track Reg 

12,13 1771 Sector Reg, Data Reg 

14-17 CRT Scroll Reg 

18-1B CTC Chan 0,1,2,3 

1C,1D System Data, Cntl 

1E,1F Keyboard Data, Cntl 

20,21 PI01 Port A Data, Cntl 

22,23 PI01 Port B Data, Cntl 

24,25 PI02 Port A Data, Cntl 

26,27 PI02 Port B Data, Cntl 

28,29 PI03 Port A Data, Cntl 

2A,2B PI03 Port B Data, Cntl 

2C,2D PI04 Port A Data, Cntl 

2E,2F PI04 Port B Data, Cntl 

30,31 PI05 Port A Data, Cntl 

32,33 PI05 Port B Data, Cntl 

34,35 PI06 Port A Data, Cntl 

36,37 PI06 Port B Data, Cntl 

38,39 SI01 Port A Data, Cntl 

3A,3B SI01 Port B Data, Cntl 

3C,3D SI02 Port A Data, Cntl 

3E,3F SI02 Port B Data, Cntl 



Micro Cornucopia, Number 20, October 1984 



13 



Serial Printing On A BBI Sans SIO 



By Richard H. Taylor 



570 Glouchester St. Flat #3 
Christchurch, New Zealand 



JVlany printers require an RS-232 se- 
rial interface, but many do not need the 
hand-shaking that RS-232 provides. 
These printers require only the data line 
and a signal earth (ground for you Amer- 
icans). 

In cases where full RS-232 is not nec- 
essary the use of a serial interface chip 
(such as the Z80 SIO) is not warranted. 
The printer can be driven by using just 
one bit off a parallel interface chip (e.g. 
the Z80 PIO) and some software (of 
course). 

A Bit of Time 

The BBI has one bit of the system PIO 
(bit 4 of port A) available for user defined 
purposes. I brought out this bit to the 
terminal strip TBI pin 8. 

The software required to allow data to 
be output serially on one bit of a PIO is 
relatively straight forward. 

Figure 1 shows the output waveform 
for the ASCII character 'A (41H). In the 
quiescent condition the output must be 
held high. When a character is to be sent 
to the printer the output must first be 
held low for one bit-time, this is called a 
start bit. The bit-time is very crucial to 
the correct operation of serial transmis- 
sion. If the bit-time is too long or too 
short then the printer will get out of step 
and print garbage. The length of the bit- 
time is derived from the baud-rate of the 
printer. In fact bit-time = l/(baud-rate) 
seconds. So, for a 300 baud printer the 
bit-time = 1/300 = 0.0033 seconds. 300 
baud is very common for printers. 



Editor's note: After the 8th bit has been 
sent, the line must be held high for at least 
one bit-time (one stop bit). This gives the 
printer time to start looking for the next low 
(the start bit). This type of communication is 
called asynchronous because there is no set 
time when the next character must start and 
because there is no clock transmitted with the 
data. (The only critical part is that the com- 
puter must space the bits pretty close to how 
the printer expects them to be spaced.) 

Printer Pickup 

There is a small amount of hardware 
needed to connect up a printer. The RS- 
232 standard requires voltage levels 
(+12V to -12V) that are different from 
the TTL levels (+4V to +0.7V) used by 
the PIO. However, this interfacing prob- 
lem is easily overcome. The required cir- 
cuit is shown in Figure 2. 



Figure 2 - RS-232 Interface 



-I2V 

GROUND 

+5V 

+ I2V 

RESET 

RESET 

DISK 
RELAY 
USER 
DEFINED 











^ 












SIGNAL , 






O 


GROUND 7 C 


1 






7 Il4 




O 




" T 3 


<h 


2 


DATA I 
3 ' 

RS232 
CONNECTOR 








14 


38 





You may need to make several chang- 
es to PIOSER.ASM to suit your system 
and printer. 

1. PIOSER.ASM assumes a standard 
60K CP/M with the BIOS starting at 
EA00H. For other configurations alter 
the assembly variable BIOS accordingly. 
If you are using Digital Research's Big 
board CP/M then BIOS = E800H. 

2. If you are already using some of the 
spare memory above PFM you may wish 
to change the assembly variable DEST so 
that the driver routine is copied to some 
other location. 

3. PIOSER.ASM assumes a 300 baud 
printer and a CPU clock running at 3.5 
MHz. For other baud rates or clock fre- 
quencies alter the assembly variable 
ONEBIT according to the formula given. 

4. Some printers expect only 7 bits of 
the character. This can be accommodat- 
ed by changing the assembly variable 
LNGTH from 8 to 7. 

To use a printer connected to 'BIT 4' 
run PIOSER.COM then type Control-P 
or use PIP to send a file to the printer. 

I have been using PIOSER for more 
than 6 months now to run an ICL 7077 
Termiprinter and have found it perfectly 
satisfactory. It allowed me to use the 
printer before I had installed the SIO op- 
tion and now that I have the SIO it allows 
me to use both SIO channels for periph- 
erals that require full RS-232. 



Figure J - ASCII Output For 'A ' 



DATA 
OUTPUT: 



10 1 



in 



STOP 
BITS 



41 H 

0100 0001B 

"A" ASCII 



LSB * 



HIGH 



START 
BIT 



After the start bit, the data byte or 
character itself is sent to the printer, one 
bit at a time, beginning with the least sig- 
nificant bit (LSB). After the 8th or most 
significant bit (MSB) has been output, 
the printer will store or print the charac- 
ter. 



The 1488 translates the TTL signals to 
RS-232 levels. I have shown the data sig- 
nal connected to both pins 2 and 3. This 
is because of an idiosyncrasy in the 
RS232 standard which means that your 
printer may expect incoming data on ei- 
ther pin 2 or 3. 

PIOSER.ASM 

The following program, called PIO- 
SERial (PIOSER), re-initializes the PIO 
to make BIT 4 an output, copies the driv- 
er routine to high memory and patches 
the driver routine address into the BIOS 
jump table. The driver routine controls 
BIT 4 of the PIO and transmits the char- 
acter in the C register each time it is 
called. 



14 



Micro Cornucopia, Number 20, October 1984 



Listing for BBI PIO Serial Interface 



PIOSER.ASM 

PIOSER.Z80 

SETUPS BIT 4 OF THE SYSTEM PIO AS AN ASYNCHRONOUS OUTPUT 

RICHARD HUMPHREY-TAYLOR, CHRISTCHURCH, NEW ZEALAND 
JUNE 1984 



; SYSTEM PIO PORT 
;PIO CONTROL PORT 



PIO 


EQU 


1CH 


PIOCTL 


EQU 


1DH 


BIT4 


EQU 


4 


LF 


EQU 


OAH 


CR 


EQU 


r ODH 


ONEBIT 


EQU 


0300H 



; SOFTWARE DELAY VALUE FOR 
;300 BAUD AT 3.5 MHZ CLC-tr 



• FOR OTHER BAUD RATES OR CPU CLOCK RATES USE THE FOLLOWING 
» FORMULA TO CALCULATE THE DELAY VALUE NEEDED: 

* ONEBIT = CLOCK/(BAUD«15) 



• WHERE :- 



CLOCK IS THE CPU CLOCK RATE IN HERTZ 
BAUD IS THE REQUIRED BAUD RATE 



DEST 



EQU 



OF800H 



BIOS 


EQU 


0EA00H 


LNGTH 


EQU 


8 


> 


ORG 


O1O0H 


COPY: 


LD 


HL, PRNTST 




LD 


DE.DEST 




LD 


BC.FIN-PRNTST 




LDIR 




INIT: 


LD 


A.OCFH 




OUT 


(PIOCTL), A 




LD 


A.OOOOTGOOB 




OUT 


(PIOCTL), A 




LD 


A.40H 




OUT 


(PIOCTL), A 




IN 


A, (PIO) 




SET 


BIT4.A 





OUT 


(PIO), A 


f 


LD 


BC.DEST 




LD 


(BI0S+2EH),BC 




LD 


BC.DEST+3 




LD 


(BIOS+10H),BC 


t 


RET 




HERE 


EQU 


$ 


OFFSET 


EQU 


DEST-HERE 


PRNTST: 


LD 

RET 


A,1 


PRNTER: 


PUSH 


HL 




PUSH 


DE 




PUSH 


AF 




PUSH 


BC 




DI 






LD 


A,0 




CALL 


OUTBIT+OFFSET 




CALL 


BITDEL+OFFSET 




LD 


A,C 



; DESTINATION ADDRESS OF PRINTER 
; ROUTINE IN HIGH MEMORY 
; START OF BIOS IN 6 OK SYSTEM 
; NUMBER OF BITS TO BE SENT 



; START OF ROUTINE 

{DESTINATION 

; LENGTH OF ROUTINE 

;COPY ROUTINE 

;PUT PIO IN BIT MODE 

;ONLY BIT 3 IS AN INPUT 

{DISABLE INTERRUPTS 



;GET DATA BYTE 
{MAKE BIT 4 HIGH 



; ADJUST BIOS JUMP TABLE 



; RETURN TO CP/M 

; CURRENT ADDRESS 
{CALCULATE OFFSET 

; PRINTER READY 



;SAVE ALL REGS 



;STOP ANY INTERRUPTIONS 
; START BIT 



;GET CHARACTER 



C0NT2: 


CALL 


OUTBYT+OFFSET 


; OUTPUT BYTE IN A 




LD 


A,1 


; OUTPUT STOP BITS 




CALL 


OUTBIT+OFFSET 






CALL 


BITDEL+OFFSET 






CALL 


BITDEL+OFFSET 






EI 




; TIMING PART IS OVER 




POP BC 




{RETRIEVE CHARACTER 




LD 


A,C 






CP 


LF 


;IS IT LF ? 




CALL 


Z.LDELAY+OFFSET 


{THEN WAIT FOR PAINTER 




CP 


CR 


;IS IT CR ? 




CALL 


Z.LDELAY+OFFSET 


{THEN WAIT FOR PRINTER 




POP 


AF 






POP 


DE 






POP 


HL 






RET 






OUTBYT: 


LD 


D, LNGTH 


;BITS TO OUTPUT 




RRC 


A 


;MOVE LSB TO BIT 4 POSITION 




RRC 


A 






RRC 


A 




NEXT: 


RRC 


A 


; SELECT NEXT BIT 




LD 


B,A 


;SAVE CHAR 




AND 


OOO1O000B 


;MASK ALL BUT BIT 4 




LD 


C,A 


;SAVE IT 




IN 


A, (PIO) 


;GET PIO BYTE 




AND 


11101111B 


;SET BIT 4 TO ZERO 




OR 


C 


{THEN SET IT ACCORDING TO C 




OUT 


(PIO), A 


{THEN OUTPUT 




CALL 


BITDEL+OFFSET 


{WAIT 1 BIT. TIME 




DEC 


D 






JR 


Z, CONT3 






LD 


A,B 


;GET SHIFTED BYTE 




JR 


NEXT 


;SEND NEXT BIT 


CONT3: 


RET 






BITDEL: 


LD 


HL, ONEBIT 


{DELAY 1 BIT TIME 


DELAY: 


DEC 


L 






JR 


NZ, DELAY 






DEC 


H 






JR 


NZ, DELAY 






RET 






OUTBIT: 


RRC 


A 


{OUTPUT LSB OF A 




RRC 


A 






RRC 


A 






RRC 


A 


{ROTATE TO BIT 4 POSITION 




LD 


B,A 


{SAVE IT 




IN 


A, (PIO) 


{GET PIO BYTE 




AND 


11101111B 


{SET BIT 4 TO ZERO 




OR 


B 


{SET BIT 4 ACCORDING TO B 




OUT 


(PIO), A 






RET 






LDELAY: 


LD 


HL,OFFFFH 


{LONG DELAY 




JR 


DELAY 




FIN 

t 


EQU 
END 


$ 


{END OF ROUTINE 



LISTING END 



Micro Cornucopia, Number 20, October 1984 



15 



Parallel Printer Interface For SWP's Dual Density 

By Terry Zbinden 9674 107th Ave. n 

Maple Grove MN 55369 



1 his article describes a customized 
parallel printer handler for incorporation 
into a BIOS, such as SWP's double-sid- 
ed, double-density version. I have done 
this with my BB-I, and it works very well 
with my C. ITOH 8510 printer with par- 
allel input. This printer can handle op- 
tional character sets, fonts and even bit 
mapped graphics. 

The usefulness of this handler is to let 
the printer do underlining, tab charac- 
ters, elite, pica, compressed, and pro- 
portional fonts. The font can be changed 
anytime within a file, simply by storing 
the correct sequences in the file. 

Be sure to read the cautions below, 
since there are cases which can give 
some really weird printed matter. 



An Improper Escape 

This handler gives lots of advantages, 
but it also has a couple of problems. If 
you are printing a file which has caret in 
it, the printer will get an escape character 
and change modes according to the fol- 
lowing character(s). This can cause mas- 
sive underlining, Greek characters, dou- 
ble width, or any combination of the 
above. The solution is to use a word 
processor to find and replace all single 
carets with double carets before printing 
the file. 

In Wordstar, the sequence is "ctrl- 
QA" and in response to FIND?, type a 

Figure 1 - Control Code Table 



caret, REPLACE WITH?, type two 
carets, and for OPTIONS?, type "GN". 
This can then be changed back just as 
easily when the printing is complete. For 
example, in Wordstar: "ctrl-QA" then 
two carets, then caret, then for OP- 
TIONS?, type "GN" again. 

If you can dump the CRT to the print- 
er, using the SWP screen dump or the 
routine in Micro C #15, the above meth- 
od of fixing the file will not give you for- 
matting. You can not modify the CRT be- 
fore dumping it so you'd need a BIOS 
that doesn't have the special handler. 



A Proper Escape 

One problem was to get an ESC char- 
acter to the printer, since the ESC is a 
control character and can not be stored in 
a text file. Even worse, Wordstar uses an 
ESC as an error reset, so ESC never gets 
outside the file. 

To generate an ESC character, 1BH, 
send a caret. To send a tab character, 
09H, send a caret followed by a squiggle. 

The characters used to denote the ESC 
or HT can be changed, of course. To use 
the tab with the C. ITOH, the tabs must 
first be set, or the printer will ignore the 
tab command. See figure 1 for the com- 
mands. 

Don't Get Serial 

The printer handler (figure 4) is a sub- 
routine to be included in the BIOS of CP/ 
M. As it is written, it can be included 
with SWP's double density BIOS with- 
out modification. 

However, the SWP BIOS already has a 
printer handler for both serial and paral- 
lel printers so the serial part must be 
completely removed, since there is not 
enough room to hold both the changes to 
the parallel part and the serial printer 
handler. The pinout for the printer has 
been left unchanged. 

The operation is perhaps not as self 
evident as one would like, so I have in- 
cluded a flow chart for the program. See 
figure 2 for the five basic parts. 

Figure 3 contains a list of the connec- 
tions to the printer from the BB-I. 



tab 
*Ln1n2n3... sets tabs at n1 , n2, n3, ... 

sends a caret to the printer. 
"E sets the printer to elite print. 
*N sets the printer to pica print. 
*Q sets the printer to compressed print. 
*P sets the printer to proportional print. 
*X starts underlining. 

"Y stops underlining. 



Figure 2 - Program Flow Chart 



CENTR1: Initializes the BB-I general purpose PIO for 
printer use. 

CENTST: Tests the printer "busy" line and loops until 
it is free. 

CENTR2: Test for an ESC character. 

ESCSEQ: Test for tab character. 

SEND: Send the character to the printer. This includes the 
proper pulsing of the READY line to the printer. 



Figure 3 - Printer Cable Connections 



CENTRONICS PIN 


BIG BOARD PI] 


1 (STB NOT) 


34 (BPORT 4) 


2 (DATA 1) 


6 (APORT 0) 


3 (DATA 2) 


8 (APORT 1) 


4 (DATA 3) 


10 (APORT 2) 


5 (DATA 4) 


12 (APORT 3) 


6 (DATA 5) 


14 (APORT 4) 


7 (DATA 6) 


16 (APORT 5) 


8 (DATA 7) 


18 (APORT 6) 


9 (DATA 8) 


20 (APORT 7) 


10 (ACK NOT) 


26 (BPORT 0) 


11 (BUSY) 


28 (BPORT 1) 


12 (PAPER EMPTY) 


30 (BPORT 2) 


32 (FAULT NOT) 


32 (BPORT 3) 



NOTE: The printer will run with only data, 
stb not, ack not, and busy connected. 



16 



Micro Cornucopia, Number 20, October 1984 



EPROM PROGRAMMER 

interfaces to the BBI (XEROX 820) parallel port 
Requires +5v. @ .3A, +25v. @ .1A, interface cable 



1. Software and schematic 

2. Bareboard and schematic 

3. Software and bareboard 

4. Software and kit (less ZIFs) 

5. Software and full kit 

6. Programmer A + T 

S/H 






Big Board II software and source 
(uses BB II sockets for programming) 



24.95 
29.95 
49.95 
84.95 
114.95 
134.95 
5.00 



24.95 



- Program, Verify, Load and check for Erased 
Intel Eproms 2716, 2732(A), 2764, 27128 
T.I. Eproms 2516, 2532, 2564 

Xicor EEprom 281 6A 

- Uses 16k bytes of system memory as a buffer.allowing you to 
work with up to 8-2716 EPROMs at the same time 

- Upload and Download Intel Hex Files 

- Edit the data in the 16k byte memory buffer 

- Define your own addresses for the memory buffer 

- Complete screen error messages 

- Software source included 

- Menu driven 

- Interfaces with most Z80 CP/M systems 

SPECIFY 8" SSSD OR KAYPRO 5V4" SSDD 
KAYPRO INTERFACE (USES PADS ON P.C.B.) 

Utility Disk 1 includes 

PEG - Universal Object File Translator. Formats supported 

8 and 16 bit Intel hex BHLF COM 

8 and 16 bit Motorola BPNF ASCII 

Merge and split of 16 bit data also supported. 
HEXED ■ A full screen hex file editor, allowing simultaneous edit of 
both the hex and ascll representations of a file. 
Full source and documentation on disk 24 95 



WADE-I 

Universal Interface Expander 

Use the WADE-I U.I.E.for Intelligent Communications 
Printer Buffer Parallel driven RAM disk 

System multiplexer P/S to S/P converter 

AND as a BIG BOARD I or XEROX 820 PORT EXPANDER 
Power requirements +5 volts @3A, +/-12 volts @.1A 

1. Bareboard 85.95 

2. Printer buffer EPROM 14.00 

3. Printer buffer source on 8" SSSD diskette 25.00 

4. 4 MHz Kit (64k) with printer buffer EPROM 359.00 

5. 4 MHz A + T (64k) with printer buffer EPROM 459.00 

6. 64k byte bank of RAM (8-4164s 200nsec) 79.00 

S/H 10.00 



BIG BOARD I (XEROX 820) PORT EXPANDER 

interfaces through the Z80 CPU socket and 1 jumper to con- 
nect the 'IEO-IEI' daisy chain 
adds 2-PIOs, SIO, CTC, and a DMA controller 
FULL MODE 2 INTERRUPT OPERATION 
Works with 2.5MHz and 4MHz systems 
Complete documentation 

STAND ALONE U.I.E. 
256k bytes of RAM with DMA capability 
4 fully buffered 8 bit parallel ports 
4 Mhz - use Z80A parts and 200 nsec dynamic RAM 
2.5 MHz - use Z80 parts and 250 nsec dynamic RAM 
configurable EPROM socket (2716 thru 27256) 
4 fully buffered 8 bit parallel ports 
2 configurable RS232C serial ports 
Complete documentation 



all prices shown are in US funds 



orders shipped within 10 days A.R.O. 



Biegun & Associates 

P.O. Box 4071, Stn "B" Winnipeg, Manitoba Canada R2W 5K8 

CP/M is a trademark ol Digital Research. Inc. 



Figure 4 - New Parallel Printer Code 



PARALLEL. MAC 




PI0CPA 


EQU 


09H 


PI0CPB 


EQU 


0BH 


PI0DPA 


EQU 


08H 


PI0DPB 


EQU 


0AH 


CENTR0N 


. 






JR 


CENTR1 


CENTR1 : 


LD 


A,00001111B 




OUT 


(PI0CPA),A 




LD 


A,11001111B 




OUT 


(PI0CPB),A 




LD 


A,00001111B 




OUT 


(PI0CPB),A 




LD 


A.01010000B 




OUT 


(PI0DPB),A 




LD 


A.CENTR2-CENTR1 




LD 


(CENTR0N+D.A 


CENTR2: 


C4LL 


CENTST 




JR 


Z.CENTR2 




LD 


A, (EFLAG) 




CP 


i *i 




LD 


A,C 




JR 


Z, ESCSEQ 




CP 


i *i 




JR 


NZ.SEND 




LD 


(EFLAG), A 




RET 




ESCSEQ: 


CP 


1 •*! 




JR 


Z, CARROT 




CP 


i-t 




JR 


NZ.GENESC 




LD 


C.09H 




JR 


CARROT 



; control port a on pio 

; control port b on pio 

;data port a on pio 

;data port b on pio 



; output mode on port a 

;bit mode on port b 

;bits 7..U outputs, bits 3-.0 inputs 

; strobe bit negated 

; patch entry point after initial call 

;loop until able to accept print data 
;see if last char was caret 

;put char back in A 

;if last was caret, gen ESCAPE 

;is this char a caret 

;if not, sent it 

;if it is, store it in flag reg 

;if last char was caret, and 

;this is too, send caret 

;is char a tab 

;if not skip this 

;if yes, send tab to printer 



GENES C: 


LD 


A,01BH 




CALL 


SEND 


CENTR3 : 


CALL 


CENTST 




JR 


Z.CENTR3 


CARROT: 


X0R 


A 




LD 


(EFLAG), A 




LD 


A,C 


SEND: 


OUT 
PI 


(PI0DPA),A 




IN 


A,(PI0DPB) 




RES 


1,A 




OUT 


(PI0DPB),A 




IF 


SLOW 




LD 


B,40 




ELSE 






LD 


B,66 




END IF 






DJNZ 


$ 




SET 


4, A 




OUT 


(PI0DPB),A 




EI 






RET 




CENTST: 








IN 


A, (PI0DPB) 




AND 


00000010B 




JR 


Z, CENTS2 




XOR 


A 




RET 




ENTS2: 


DEC 
RET 


A 


EFLAG: 


DEFB 






;load A with the escape char 
[send escape, then the next char 
;wait after sending esc 

; clear flag after sending escape 

;put real character, into A 
;send character to pio 



; assert strobe line to Centronics 

{generate a pulse for printer 
; count less for 2.5mhz 

; count more for H mhz 

; pause approx 200 microseconds 
; de-assert strobe 



;read pio inputs from Centronics 
jtest printer busy bit 



;return with a=255 if printer ready 



That's all there is to it. 



Micro Cornucopia, Number 20, October 1984 



17 



Pascal Procedures 



By John P. Jones 



6245 Columbia Ave. 

St. Louis MO 63139 

314-645-1596 



A friend who usually programs in 
BASIC mentioned that one of his dislikes 
about Pascal is the need "to put semico- 
lons everywhere." Some interesting 
points came up in the discussion that I'd 
like to share. 

The Semicolon 

All high level programming languages 
have their programs organized into a se- 
quence of statements which are either 
interpreted or compiled for execution. 
Program source files are text files. This 
gives four alternatives for delimiting 
statements: 

1. Fixed format lines (Ugh!). 

2. An explicit continuation character. 

3. An explicit separation character. 

4. Some combination of 1, 2 and 3. 

For whatever reason, the non-struc- 
tured languages like Fortran and BASIC 
use method 4 while the structured lan- 
guages like PL/1, C and Pascal use meth- 
od 3. Microsoft BASIC uses <CR> as 
terminator, ':' as separator and <LF> as 
continuation character. This may be 
what was confusing my friend, the non- 
visible terminator and continuation 
characters. 

Pascal, of course, uses the semicolon 
as a statement separator. Except within 
identifiers, whitespace (spaces, tab, 
<CR>, <LF> ) are ignored by the com- 
piler. The requirement for an explicit 
separator character is a consequence of 
this free form source capability. 

C uses the semicolon as a statement 
terminator while Pascal uses it as a state- 
ment separator. In most cases, this dis- 
tinction between termination and sepa- 
ration is of little consequence but the 
proper use of the semicolon is critical 
within an IF-THEN-ELSE statement. 

In an IF statement, a semicolon can 
NEVER occur before the reserved word 
ELSE since that would be a separator 
within the statement. Be extremely care- 
ful when nesting IF statements as it is 
easy to get the ELSE clause linked with 
the wrong IF. As a rule, an ELSE will be 
compiled as part of the most recent IF 
that has no ELSE. When in doubt, do not 
hesitate to use a BEGIN-END block to 
insure the statement is compiled correct- 

A semicolon is not required following 
a statement before an END, but if 



present will represent a null or empty 
statement. Empty statements are ig- 
nored by the compiler. 

Bug 

My thanks go to Jay Sage, a reader 
from Newton Centre, Mass., who sent 
information about a bug in Turbo Pascal. 
The built-in procedure STR is used to 
convert numeric values into character 
strings following the normal output for- 
matting conventions used in the WRITE 
statement. Figure 1 is a slightly modified 
version of the example program he sent. 
The program uses STR within a function 
that returns an 80 character STRING. 
When this function is called from within 
a WRITE statement, the WRITE state- 
ment terminates. A null WRITE state-, 
ment within the function fixes the prob- 
lem. Jay speculates, and I agree, that 
STR and WRITE share code and the bug 
occurs because the code is not reentrant. 

A voice from the back of the room 
says, "What did he say? Re-entrant . . . 
what's that?" 

Reentrancy 

A routine is reentrant if it can be inter- 
rupted by another process which in turn 

Figure 1 - Turbo Pascal Bug Test 

program bugtest; 

type 

string80 = string [80]; 
string20 = string [20]; 

var 

in_value : integer; 



function make_string (number, places : integer) : string80; 
var 

temp : string20; 

begin 

str (number: pi aces, temp); 

makestring := ' is the number * + temp; 

{ write; } { Inclusion of this null write fixes output } 
end; 

begin { bugtest } 
clrscr; 

repeat 

write ('Enter number : *); 

read (in_value); 

writeln; 

writeln (in_value, makestring (in_value, 4)); 

writeln; 
until in_value =0; 

end. 



uses the interrupted routine. (Come on 
now John, that doesn't help!) To use an 
example, let's assume a Big Board I with 
one channel of the CTC set up to gener- 
ate a real time clock interrupt. Each sec- 
ond, we want to update a clock display 
in a corner of the screen. If the routine to 
output a character to a specific screen lo- 
cation is reentrant, it can be used to up- 
date the time display even if the clock 
interrupt occurs during execution of the 
character output routine. 

Reentrancy is of special value in inter- 
rupt driven environments (interruptable 
processes can share code) and multi-us- 
er/multi-tasking systems (users/tasks 
can share code). CP/M's BDOS is NOT 
reentrant. This means that something 
like an interrupt driven print spooler is 
difficult to implement since the spooler 
would normally use BDOS routines to 
access the print file and printer. 

Turbo Tips 

Pascal compilers that generate native 
code, like Turbo Pascal, Pascal MT/+ 
and Pascal/Z can be used for writing in- 
terrupt service routines. It is especially 
easy to write interrupt routines for Turbo 
because the code it generates is fully in- 



18 



Micro Cornucopia, Number 20, October 1984 



FLOWCHARTER 



Figure 2 - Sample Interrupt Routine 



{ This program demonstrates interrupt handling by Turbo Pascal } 



program test_interrupt ; 
const 

kbd = $1e; 



.{ BB I keyboard PIO address } 



var 

kbd_vector 
vector_save 
ch : char; 
key_avail : boolean; 



integer absolute $ff1a; 
integer; 



{ BB I keyboard vector address } 
{ so we can exit gracefully } 



{ will vector here on kbd ints } 



procedure do_kbd_int; 
begin 

{ Pascal interrupt procedures MUST preserve all 
registers used so PUSH them all. If floating point . 
were used, would also need to use alternate registers 
inline ($f5/ { PUSH AF } 
$c5/ { PUSH BC } 
$d5/ { PUSH DE } 
$e5/ { PUSH HL } 
$dd/ $e5/ { PUSH IX } 
$fd/ $e5); { PUSH IY } 



key_avail :r true; 



inline ($fd/ $e1/ 
$dd/ $e1/ 
$e1/ 
$d1/ 
$d/ 
$f1/ 
$fb/ 
$ed/ $4d); 



{ since Turbo I/O routines are not reentrant, 
we will just set a flag to let the main program 
know an interrupt has occurred rather than 
displaying the keystroke here. } 

{ restore registers pushed above } 



{ EI since interrupts disabled on entry } 
{ RETI } 



end; 



begin 

vector_save := kbd_vector; 
kbd_vector := addr(do_kbd_int); 
key_avail := false; 
repeat 

if key_avail then begin 
ch := chr(not(port[kbd])); 
write (ch); 
key_avail := false; 
end; 
until ch = *[; 
kbd_vector := vector_save; 
end. 



terruptable. Since the code is not reen- 
trant, you must compile the procedure in 
absolute (non-recursive) mode and the 
routine must preserve all CPU registers. 
Figure 2 is an example of a program 
that uses an interrupt routine written in 
Pascal. Although the example is trivial, it 
could be used in an application such as a 
game that requires real time keyboard 
input. A game running on the Micro- 
sphere color graphics card could be set 
up in an infinite loop which updates the 
display and moves sprites with the inter- 



{ save current kbd interrupt vector } 

{ replace with address of our routine } 

t initialize flag } 

{ if had interrupt, will be true } 

{ read port, inverted input} 

{ display the keystroke } 

{ clear interrupt flag } 

{ exit if ESC pressed } 

{ back to normal operation } 



nal flow controlled by real time keyboard 
input. 

Error Department 

I made an error in transcribing the pro- 
gram fragment in figure 2 of issue 19's 
column. The last line of that figure 
should read: 

loadbinary (fname, routines[0], (size div 
128) + 1); 



ttttttttttttttt 

* * 

t END OVERNIGHT * 
ttttttttttttttt 

ttttttttttttttt 
t t 

* START ON-LINE t 
t t 

ttttttttttttttt 

tttttttttttttttt 
* * 

BRANCH SIGN-ON 
t * 

tttttttttttttttt 

ttttttttttttttttt 

t * 

t DAILY REPORT * 

* PRODUCTION * 

* .»**» 



.t 
. .* 

* NO 



tttttttttttttt*** 
t t 

tPRODUCE WEEKLY t 
REPORTS t 
.tttt 
.t' 
tttt" 



->t 



ttttttttttttttttt 
t t 

tPRODUCE MONTHLYt 
>t REPORTS t 
t .tttt 



ttttttttttttttttt 
t t 

tPRODUCE ANNUAL t 
>t REPORTS * 
t .tttt 



.< 



ttttt 
t t 

t TL t 

t t 

ttttt 



EasyFlow is a program which helps you to 
produce neat, accurate flowcharts. You des- 
cribe the flowchart using a simple flowchart 
description language; EasyFlow then pro- 
duces a complete flowchart. EasyFlow is 
excellent for describing procedures of all 
kinds - not just for programming. 

• Fast: 12 seconds for a typical chart. 

• Command language easy to learn. 

• Easily adapts to all printers. 

• Standard flowcharting shapes included. 

• User defined shapes easily added. 

• User selected line drawing characters. 

• Charts up to 5 by 11 shapes in size. 

• Explicit, meaningful error messages. 

• Fully documented with many examples. 

• Ten demonstration flowcharts included. 

• Special printer drivers included for MX80 
and u92 that produce small flowcharts 
directly on 8.5 x 11 inch paper. 

$49.95 ($59.95 in Canada + 7% PST in Ontario) 

Runs on Z80 CPM 2.2 machines with 38K TPA. 
Available on SSSD 8" and Kaypro 5" disks. 
Other 5" formats: call. 

Available by check, money order or Visa: 

HavenTree Software Limited 

R.R. #1, 

Seeley's Bay, Ontario, 
Canada, KOH 2N0 
(613) 542-7270 



Micro Cornucopia, Number 20, October 1984 



19 



Extended 8" Single Density 



By Larry J. Blunk 



2972Briarcliff 

Ann Arbor MI 48105 

313-663-6171 



Extended single density is the name I 
have given to the 8 inch format I am us- 
ing. Extended single density formats 8 
inch diskettes with nine 512-byte sectors 
per track (the system tracks, however, 
are standard 128-byte sectors). This 
gives me a total of 334K per diskette (vrs 
241K). It also improves disk I/O speed 
quite a bit. 

History 

My inspiration for this format was an 
article by Robert Lurie in the October 
1983 issue of Microsystems. Lurie used a 
little known secret of the 1771 disk con- 
troller chip. The 1771 is able to read and 
write sector sizes which are multiples of 
16, as well as the standard 128, 256, 512, 
and 1024 sizes. 

Taking advantage of this, Lurie used 
two 2432-byte sectors per non-system 
track. He formatted the system tracks 
with 29 128-byte sectors so that the 
standard boot routine would work but 
there would be extra space for the larger 
CBIOS needed to block and deblock the 
2432-byte sectors. This setup yielded 
354K per disk. 

I decided against Mr. Lurie's setup be- 
cause there was really no place to store 
such a large sector size (without lower- 
ing the TPA or using bank-switched 
RAM). Also, the blocking/deblocking 
routines supplied by Digital Research 
with CP/M will only work with sectors 
which are a power of two (i.e. 256, 512, 
1024, etc.). However, I decided to keep 
Lurie's format of 29 128-byte sectors on 
the system tracks. 



Figure 1 - Modifying SYSGEN 



A>ddt syagen.com 
DDT VERS 2.2 
NEXT PC 
0500 0100 
-3129 

0129 U 1d 
012A 01 . 

-3144 

0144 00 1b 

0145 00 1c 

0146 00 1d 

0147 00 . 
-gO 

A>save 4 sysgen29.com 



Patch Work 

In order to make SYSGEN work with 
29 sector tracks, you have to make a few 
patches with DDT. Lurie describes them 
in his article (figure 1). 

Now, when you want to sysgen an ex- 
tended single density disk, use sys- 
gen29. 

Formatting 

To format a disk, use EXTFORMT. 
This formatter was derived from FOR- 
MATS, but formats the disk with 29 128- 
byte sectors on tracks and 1, while 
tracks 2 through 76 are formatted with 
nine 512-byte sectors. 

Incorporating the CBIOS 

There are two versions of the CBIOS. 
One is for those who use CP/M as dis- 
tributed by Digital Research Computers 
with a CBIOS which ORG's at E800H. 
The other is for those with a standard 
60K CP/M and a CBIOS ORGing at 
EA00H. Both of these use storage above 



Figure 2 - Incorporating a New CBIOS 

A>extformt 

(respond with B and then after 
the disk in drive B has been 
formatting type *C to exit.) 

Now use the appropriate column. 

E800 CBIOS EA00 CBIOS 



the monitor. For the E800H-CBIOS, 
storage starts at FC80H, while the 
EA00H-CBIOS uses memory at FB00H 
and above. Make sure that any programs 
you run do not use these locations. 

Below, is an example of how to incor- 
porate the CBIOS into CP/M. You 
should have a disk with EXTFORMT, 
E8XTBOOT or EAXTBOOT, E8XTBIOS 
or EAXTBIOS, CPM60, SYSGEN29, and 
DDT in drive A, and a blank disk in drive 
B. Figure 2 describes what the session 
should look like. 

Now you are ready to test the new for- 
mat. Switch the disks and hit the reset 
button. When you boot, you should get 
the signon message telling of your new 
ability to support 334K diskettes. You 
can use STAT or D to verify this. 

EXTFORMT, E8XTBOOT, E8XTBIOS, 
EAXTBOOT, and EAXTBIOS are avail- 
able on Micro C user disk B28. 



A>ddt cpm60.com 
DDT VERS 2.2 
NEXT PC 
2300 0100 
-ie8xtboot.hex 
-r880 
NEXT PC 
2300 0000 
-ie8xtbio3. hex 
-r3780 
NEXT PC 
2547 0000 

(note: should not be 
greater than 2600) 
-gO 



A>ddt cpm60.com 

DDT VERS 2.2 

NEXT PC 

2300 0100 

-ieaxt boot. hex 

-r880 

NEXT PC 

2300 0000 

-ieaxtbios.hex 

-r3580 

NEXT PC 

2543 0000 

(note: should not be 

greater than 2580) 

-gO 



« Reconverge here » 

A>sysgen29 

SYSGEN VER 2.0 

SOURCE DRIVE NAME (OR RETURN TO SKIP) <cr> 

DESTINATION DRIVE NAME (OR RETURN TO REBOOT) 

FUNCTION COMPLETE 

DESTINATION DRIVE NAME (OR RETURN TO REBOOT) 

A> 



<cr> 



20 



Micro Cornucopia, Number 20, October 1984 




ttT****, 






WHAT IF 




THE TORTOISE COULD 

ALWAYS BEAT THE HARE ? 



^fe<!! 



ELECTRONIC RAM DISK 

Tired of spending so much of your computer time waiting for 
programs to load, compile, recalc or sort? Check these time 
comparisons!!! Now a lowly Kaypro II or 4 running at 2.5mhz 
(alias Tortoise) can even out run a 4 mhz Kaypro 10 with 
Winchester Hard Disk (alias Hare). 
*Benchmark test data (see below) 

You'll find SUPERSPEED for all disk access 
action with this multiprocessing Electronic 
RAM Disk. Comes with memory space 
user selectable from 256K to 1 mb; has 
dual Centronics connectors; optional 
external power supply design. This RAM 
disk can be configured as drive A or D; runs 
at 6mhz; operates as printer buffer while 
simultaneously storing and retrieving data to 
the RAM. This add-on will be a real time 
saving asset to your Kaypro 2, 4, 2-84, 4-84 

Socketed without RAM chips $199.00 

Assembled & Tested 256K, 5 12K, lmb 

$CALL for current price 3 

US Add $5.00 shipping P 



International Add $15 shipping 





TLC® LOGO is also available for all Kaypros with internal graphics 
(2-84, 4-84, 10). No modifications required. This 
Standard Version uses the internal screen, has 
16,000 pixel resolution, multiple turtles, multi- 
processing, vectors and many LISP commands . . . $99.95 

COMPOSITE VIDEO GENERATOR — Allows connection of a 

Standard Composite Monitor. An absolute necessity for those who 

need a larger screen or bigger characters. 

Kaypro II, 4 — $59.95 

§g^ Kaypro 2-84, 4-84, 10 — $89.95* 

|t *Includes a new character set which 

' * generates a character cell size readable by a 

if standard composite monitor. All graphics included. 

COLOR GRAPHICS SYSTEM FOR KAYPRO 

COLOR BOARD — for Kaypro II, 4, 2-84, 4-84, 10 

& Robie. 256x192 Pixel resolution, 16 colors, 32 

sprites. Software includes three editors, drivers, screen 

dump to printer and disk, six-month subcription to 

| Micro Cornucopia. Generates standard composite 

I color. RF modulator is required for color TV 

1 operation. Plug in installation . . .$245.00 




Time in Seconds 

2.5 MHi 


Kaypro 


4 MHz Kaypro 


4 MHz Kaypro 10 




Floppy Disk 


Ram Disk 


Floppy Disk 


Ram Disk 


Winchester Hard Disk 


Load 
Perfect Writer 


8.37 


Z.46 


7.64 


1.76 


6.57 


Load 
Perfect Calc 


10.35 


3.16 


9.44 


1.87 


7.19 


Load 
Perfect Calc + MKFilc 


12:04.01 


3:33.26 


10.48.00 


1:51.08 


6:20.37 


Recalc 14K PC File 


10:19.00 


2:27.36 


9.31.25 


1:17.78 


5:30.53 


Page down 
PC File 


25.24 


8.01 


22.49 


4.32 


17.55 


Load 
LADDER.COM 


10.90 


3.31 


9.38 


2.12 


6.60 


WARM BOOT 


2.82 


.64 


2.22 


.46 


2.69 


Load 
M BASIC 


5.79 


1.64 


5.43 


1.12 


2.55 




COLOR BOARD SOFTWARE — TLC LOGO 

featuring multiple turtles, multiprocessing mode, fast, 
easy to use and easy to learn. This is the graphics 
language the schools rave about. There are many facets 
w T a -'^,:./ ' to TLC LOGO including LISP commands ^$_129.95^ 
SPECIAL!! Color Board and Deluxe Version of LOGO . . . $299.95 
. INSTANT GRAPHER 2.0: allows bar charts, stacked bar charts and 
line graphs. Accepts up to 24x24 arrays or 180 points per plot. Reads 
numbers directly from Perfect Calc, CalcStar or other standard disk print 
files. Screen dump to printer program on color board disk also works 

. . . $50.00 
SUPPLY STORE SPECIALS: 
ECHO LIFETIME WARRANTY DISKETTES 



10 Echo Disks w/Box 
10 Echo Disks w/Box 




Microsphere 



As you can easily see even a 2.5 mhz Kaypro with RAM disk is faster 
than a Kaypro 10 using a hard disk. A 4 mhz Kaypro with RAM disk 
is significantly faster. 




v.j>c.y 



SSDD $20.00/box 
DSDD $24.00/box 
SPECIAL SALE!!!!! 

100 GENERIC DISKS DSDD 
$150.00/100 w/sleeves 

1NFOCOM ADVENTURE GAMES 

(Kaypro format) 
ZORK I, ZORK II, or ZORK HI 

$45.00 « 
STAR CROSS $45.00 1 

SEASTALKER (beginner ages 9 &. up) 

$45.00 < 
DEADLINE $55.00 < 

SUSPENDED $55.00 « 

WITNESS $55.00 < 

PLANETFALL $55.00 « 

Microsphere, Inc. 

PO Box 1221 

Bend, Oregon 97709 

503-388-1194 

9-5 Pacific Time 

Dealer inquiries invited 



Kaypro is a registered trademark of the Kaypro Corporation 
-rt ™* , a^a : „i„„,„^ .^^I»«.,rU „f I KP C'nmnanv. 



SBASIC Column 



By Jack Rodenhi 



1317 W. College Ave. 
Lompoc CA 93436 



Okay, so where did we leave off on 
the last issue? It had something to do 
with problems I had with disk-file ac- 
cess. This topic is important because 
many programs require that data be 
stored away and retrieved at some later 
time. 

Disk-file Access 

My early attempts in SBASIC led me 
to certain conclusions. I decided that I 
should impose a structure on disk files. 
To simplify disk record handling prob- 
lems, the records should be handled as 
strings. This means that when a record is 
written to disk, it should be one string 
and no longer than 255 bytes. The first 
byte of the record should be reserved for 
record status (deleted, last record, etc.). 

Snail Sort 

I came up with a novel approach to 
sorting a disk file. I had been thinking 
about this problem for some time and the 
idea came to me as I was working out in 
the garden. I called my idea the snail sort 
because of the way the program attaches 
itself to a disk. 

Basically, the program will work like 
this. Read as many records into memory 
as will fit (let's say 250). Put them in or- 
der in memory somehow. Output the 
smallest record. Read the next record in- 
to memory and again output the smallest 
record in memory to disk. Continue to 
do this until you reach the end of the 
disk. 

Notice that at this point, the highest 
250 records are in the computer. Write 
those out to the disk in order and the top 
(highest value) part of the file is sorted. 

Now go back to the beginning of the 
file and do this again. Only this time you 
can stop short of the end of the file by 250 
records. If the file has 1000 records in it, it 
will take four such passes to put the file 
entirely in order. 

That sounds okay but think about how 
the computer will sound for a moment. It 
will write a record, read a record, merge, 
write a record, read a record, merge and 
so on, all the while its little head going 
ka-chunk, ka-chunk (not the fastest sort 
of thing to do). 

How about if we write out the smallest 
125 records in memory and read in 125 
new ones. The ka-chunk, ka-chunk goes 



away and the head feels better. As an 
added bonus, the records are now writ- 
ten to the disk in runs of 125 records each 
and the runs are in order. We can make 
use of that idea if we can somehow 
merge these with the records in memory 
instead of sorting them by brute force. 

Top-Down 

Now we take this idea and attempt to 
transform snail sort into a real program 
using what is called "Top down" pro- 
gramming. Near as I can tell, this kind of 
programming doesn't have anything to 
do with convertibles on sunny days. I 
think the idea is a little closer to what 
Philippe Kahn talked about at the SOG. 
Philippe said the ideal programming 
language is one that requires you only to 
sit down at the keyboard and type in 
"ACCOUNTING PACKAGE" and the 
language would take it from there. 

Well, that's like top down program- 
ming only your head is the "ideal pro- 
gramming language." You set your idea 
up in outline form in phrases like 'Input 
125 records' and 'Sort on part number.' 
Then, you have to be understanding and 
realize that your computer won't know 
what you're talking about (after all this 
time you'd think it would begin to catch 
on). 

So you provide a little more detail like 
'Open inventory file,' 'While not end of 
file' and so on. 

These intermediate instructions are 
written in something called "pseudo- 
code." But your computer still won't un- 
derstand pseudocode, so you do the 
small amount of remaining translation to 
put the program into a language that 
your computer will understand. Howev- 
er, you've already discovered what you 
want the computer to do. 

Super Snail Sort 

So here's an outline (Figure 2) of what 
the Super Snail Sort will do. Notice that 
the words 'up to' are used to allow for an 
end of file condition. 

The program included in this column 
(Figure 1) is not a sort routine. It is a lin- 
ear search routine. Notice that the rec- 
ords will be read into an array called 'list' 
and that they will not change places dur- 
ing the process. The records will be or- 
dered by the array 'next.' 



A one-byte value in 'smallest' will 
point to the smallest value in the array 
'list' and the corresponding value of 
'next' will point to the next value in the 
list. From there, each item is found se- 
quentially because it appears in the 
'next' array for the previous item. This is 
known as a linked list. In pseudocode, 
the program might be written like Figure 
3. 

In the actual program, the coding be- 
comes more involved, but you can see 
how the program evolved from the 
pseudocode. 

SBASIC Tutorial 

I had a chance to review the SBASIC 
Tutorial sold by Sven Erlandsson. In 
some ways, this book is a better version 
of the manual that came with SBASIC. 
At the very least, it is good to have an 
extra manual on the language. Be aware 
that it is a manual though and not really a 
tutorial. 

One of the mistakes the author makes 
in the book is to make frequent compari- 
sons to MBASIC. As an aid to under- 
standing, it was good in the first chapter 
to contrast MBASIC and SBASIC but it 
should have stopped there. Other than 
that, the book seemed okay, not great, 
but okay. 

Unfortunately, the author has appar- 
ently written a large involved program 
dealing with steam tables and chose to 
include parts of this program as material 
illustrating some of the more advanced 
topics of the book. I had to learn what 
enthalpy meant before I could finish that 
section. 



22 



Micro Cornucopia, Number 20, October 1984 



Figure 1 - SB ASIC Search Routine 



Figure 2 - Pseudo code Version of SOR T 



$lines 

control. c. trap off 

$constant top = 250 

dim integer list (top) 
dim byte next_ptr(top) 
var smallest, current, 



last_one, last_item= byte 



REM« a Here is the actual ordering algorithm 11 ** 
procedure order (new_item= byte) 
procedure search_and_insert 

while list(new_item) > list (current) do begin 
last_one = current 
current = next_ptr( current) 
end 

next_ptr(new_item) = next_ptr(last_one) 
next_ptr(last_one) = new_item 
la3t_item = new_item 
end 

Comment 

Compare this part of the program with the pseudocode version. 
Notice that the procedure search_and_insert had to be developed 
for one word of pseudocode. 
End 

if list(new_item) < list(last_item) then begin 
if list(new_item) <= list(smallest) then begin 
next_ptr(new_item) = smallest 
smallest = new_item 
end else begin 

current = next_ptr(smallest) 
Comment 

When we find an element that is larger than the new 
element, we will: 

1. Change the "next_ptr" array for the last element we just 
looked at to point to our new element. 

2. Change the n next_ptr n array for the new element to point 
to the larger element we just found. 

To do item #1, we need to know what the last element was so 
that we can pass this information on to our search_and_insert 
procedure. So each time we move on to a new item, we set 
"last_one n to be equal to the item we just left. 
End 

last_one = smallest 
search_and_insert 
end 
end else begin 

current = next_ptr(last_item) 
last_one = last_item 
search_and_insert 
end 
end 
REM*** The ordering procedure end3 here and a demonstration program begins. 

var i,current_item,next_item= integer 

smallest = 

list (small est) = 9999 

last_item = smallest 

for i = 1 to top 

list(i) = intdOOO • rnd(D) 

print list(i) 

order i 
next i 
print 

print "Now in order" 

print "Item no. Item Next item" 
print 

current = smallest 
for i = 1 to top 

current_item = current 

next_item = next_ptr( current) 

print current_item, list ( current ) , next_item 

current = next_ptr( current) 
next i 



Micro Cornucopia, Number 20, October 1984 



Repeat 

Read in up to 250 records 
put them in order 
repeat 

write out up to 125 records 
read in up to 125 records where those came out 
put the new records in order 
until all the unsorted masses have passed through 
write out all the records 
decrease the unsorted masses by 125 
until the unsorted masses = 



Figure 3 - More Pseudocode 



if the new item is smaller than the last item then 

start at the smallest item in the list 
else start where the last item was put in 
search for the new item's place and insert it 



Jc\ 



CHECK OUT THESE PRICES!! 

ACCESSORIES 
FOR YOUR COMPUTER 

DISK STORAGE BOX — Holds 50 
-5 1 /4" disks. Plastic with Smoke self- 
lock, see-thru cover. — $15.95 ppd. 

PRINTER STAND — Metal, putty 
color. For 80 col. printers — 

$18.95 ppd. 

PROGRAMS FOR YOUR KAYPRO 

K-CALENDAR — This neat little 
program prints a calendar for ANY 
year or ANY month — $9.95 ppd. 

K-CATALOG — This program or- 
ganizes your disk files, prints labels, 
etc. Identify immediately which flop- 
py contains your program. — 

$19.95 ppd. 

K-MODEM — This program trans- 
fers ASCII orbinary files. Selectable 
parity, stop bits, etc. Easily worth 
three times its price. — $29.95 ppd. 

THE FINE PRINT — KAYPRO™ Kaypro 
Corp. PA Res. add 6% Tax. — We ship 
within 3 days for Visa, M/C or Money 
Order. — Allow 2 weeks for Personal 
Checks. 

I KOMPUTERWERK 

jlf 851 Parkview Blvd. 

IP l Pittsburgh. PA 15215 

1 (412)782-0384 



23 



MAXIMIZE YOUR KAYPRO-FORMANCE 



EXTERNAL MONITOR ADAPTOR 

for all Kaypro Computers 

The External Monitor Adaptor (EMA) provides the 
ability for the Kaypro to drive an external video 
monitor. Original characters and video display remain 
unchanged. In addition, the Kaypro monitor remains 
operative. Simple plug-in installation. Complete 
illustrated instructions are included. 

EMA Kaypro II & 4 $ 69.95 

Green Monitor $149.95 

Amber Monitor $159.95 

EMA Kaypro 284. 2X, 

4*84, 4X & Roble * $ 99.95 

EMA Kaypro 10 & 12X * $109.95 

Green Monitor * $159.95 

Amber Monitor * $169.95 

* Please Note: For all models except the original II 

and 4 the specially modified monitor listed above 

must be used. 

12ft KEYBOARD CABLE 

for all Kaypro Computers 

Designed to replace the original 6ft cable. Not just 
a telephone cord, it is designed to meet the exact 
requirements of the Kaypro. Guaranteed to work. 
12ft Keyboard Cable $ 12.95 

ANTI-GLARE SCREEN 

for all Kaypro Computers 

Increases contrast and reduces glare. Made from 
scratch resistant polycarbonate and contoured to fit 
exactly, it offers an undistorted view of the entire 
CRT. Attaches directly to the CRT and requires no 
disassembly. Please specify Smoke or Green when 
ordering. 
Anti-Glare Screen $ 24.95 

KAYPRO COVERS 

for all models except the Roble 

Made from durable weather resistant Sunbrella. 
Unpadded and open at the bottom, it includes two 
pockets for carrying your manuals, diskettes, etc. 
The Kaypro handle is used to carry the computer. 
Please specify Black or Navy when ordering. 
Kaypro Cover $ 34.95 

PRINTER CARRYING CASES 

Make your printer as portable as your computer. 
Has an inside and outside pocket to carry paper and 
other accessories. Carrying straps loop under the 
printer providing full support. Unpadded, these cases 
are made from durable Sunbrella. Available in Black 
or Navy. Specify printer make and model and color 
desired when ordering. Available for: 

Silver Reed 550 • Okidata 92 & 93 

Epson FX-80. MX-80. RX-80. RX-100. MX-100 
Comrex I & III • Prowriter 8510A • Brother HR15 
Printer Carrying Case $ 42.95 

PRINTER ft MODEM CABLES 

These high quality cables are designed to work 
with your particular printer or modem and Kaypro. 
No additional jumpers or modifications are required. 
Specify make and model of printer and Kaypro model 
when ordering. 

RS-232 Serial: 6ft- $17.95 12ft -$22.95 

Centronics Parallel: 6ft-$Z4.95 10ft-$28.95 
Modem Cable: 2ft- $19.95 4ft $22.95 



Kaypro is a registered trademark of Kaypro Corporation. 
MSDOS is a registered trademark of Microsoft. PCDOS 
is a registered trademark of IBM Corporation. TRSDOS 
is a registered trademark of Tandy Corporation. CP/ 
is a registered trademark of Digital Research. KGraph. 
KBoard. KBrief and Media Master are registered trade- 
marks of DG Systems. 



5 MHz TURBOBOARD 

for the Kaypro II & 4 

Allows your Kaypro II or4 to compute at twice the 
standard speed. Word processors, spread sheet 
programs, etc will run much faster. The speed 
(2.5 MHz or 5 MHz) is switch selectable and can be 
changed at any time without affecting the operation 
of the computer. Installation requires only minimal 
technical ability and no soldering is required. 
Complete illustrated instructions are included. 
TurboBoard $ 99.95 

*** Coming Soon *** 

TURBO/8 

An 8 MHz TurboBoard for all Kaypro models. The 
Turbo/8 will have all of the same features as our 
popular 5 MHz TurboBoard. 

....call for information 

ProGRAPHICS PUTS THE PRO 
IN YOUR KAYPRO II or 4 

ProGRAPHICS gives your Kaypro II or 4 the 
ultimate in video display as well as graphics capability. 
Video attributes include half intensity, reverse video 
or a combination of the two. Emulates the popular 
Televideo 925/950 terminal while retaining full 
compatibility with existing software. Simple plug-in 
installation. Includes: 25 x 80 character display, 
non-scrolling 25th status line, both block (160 x 50 
resolution) and thin line graphics and a real software 
selectable cursor. An overlay program is included 
which allows Wordstar to use the new video 
attributes. 

Plus: Fully compatible with our 5MHz TurboBoard, 
Plu*Perfecfs CP/M 2.2E. SWPs C0-P0WER-88 and 
Micro Cornucopia's Pro-8 ROM. 
ProGRAPHICS SYSTEMS $299.00 

USER-PROVEN SOFTWARE 

UNIFORM 

for all models except the Robie 

Allows your Kaypro to read and write up to 55 
different computer formats (depending on Kaypro 
model) including CP/M-80. CP/M-86, MSDOS. 
PCDOS, CDOS. LDOS. and TRSDOS. Please specify 
Kaypro model when ordering. 
Uniform $ 69.95 

MEDIA MASTER 

for Kaypro II 

Allows you to read and write up to 25 different 
formats. 
Media Master $ 29.95 

REPORTMAKER 

for the Kaypro II & 4 

An easy to use program that allows you to produce 
bar charts, pie charts and create your own headings, 
logos and designs. Works with WordStar. 
Report Maker $130.00 

SMARTKEYII 

for all Kaypro models 

Allows you to assign character strings or com- 
mands to any key on your keyboard. Tremendous 
time saver. 
SmartKey II $ 89.95 

CHECKS & BALANCES 

for all Kaypro models 

Complete personal checking program or business 
register. An excellent money manager. 
Checks & Balances $ 54.95 



REMBRANDT 

for Kaypro 284. 2X, 4'84. 4X, 10. 12X & Robie 

Easy to use software that allows to take full 
advantage of your Kaypro graphics. Includes: 

KGRAPH - business graphics including bar charts, 
pie charts and x-y plots. 

KBOARD - complete graphics editor allows you 
to produce your own headings, logos, etc. 

KBRIEF - produces electronic slide show 
presentations. 

All programs are simple to use. menu driven and 
require no knowledge of computer programming. 
Works with most DOT matrix printers. 
Rembrandt: 

Special Introductory Price $ 69.95 

After October 31st $ 79.95 

Demo diskette: 

Refundable With Purchase $ 5.00 

PLU* PERFECT 

for all Kaypro models 

Inexpensive software packages to dramatically 
increase the power and capability of your Kaypro. 
CP/M 2.2E 

Enhanced CP/M $ 32.00 

The Backgrounder (requires CP/M 2.2E) 

Keyboard Definition Program $ 45.00 

Plu*Perfect Writer (comes with CP/M 2.2E) 
Perfect Writer Enhancement $ 39.00 

ENGINEERING SOFTWARE 

CIVILSOFT 

for all Kaypro models 

Powerful, easy to use engineering software. Over 
20 programs available including structural analysis, 
surveying, hydraulics, and more. 

....call for details and pricing 

BV ENGINEERING 

for all Kaypro models 

ACNAP 

General Purpose Circuit Analysis Program . . $ 49.95 

SPP 

General Purpose Signal Processing 

Program $ 59.95 

PLOTPRO 

Set of four linked Microsoft Basic programs which 

plot scientific graphs on any 80 or 132 column 

printer $ 49.95 

REAP 

Real Estate Investment Analysis 

Program $ 59.95 



CALL TODAY 
National (800) 821-8778 

California (800) 521-7182 

DEALER INQUIRIES WELCOME. 

All items are warranteed for 90 days. 30 day money back 
guarantee if not completely satisfied. Visa and MasterCard 
are welcome. Please add $1.50 for COD. UPS surface freight 
paid on all orders. California residents please add 6% sales tax. 

f /l aduenb 

r 1 1 products inc. 

3154-F East La Palma Avenue 
Anaheim, California 92806 
(714)666-0130 



24 



Micro Cornucopia, Number 20, October 1984 



HIGH PERFORMANCE VIDEO 
MONITOR 




BALL BCX-200 HP Monitor 

12", P31 Green, Non Composite, Separate Sync Re- 
quired, 27 MHz Video Bandwidth, 12 VDC @ 1.5 A. 

• Vertical Sync: 47-82 Hz 

• Horizontal Sync (Jumper Selectable): 

• PERFECT FOR BIG BOARD II 
WHEN USING 9x11 CHARACTER SET 

NEW with schematic shipping weight 10 lbs 

MONITOR ONLY $62.50 

PLASTIC ENCLOSURE 

as pictured above. Size 17x14x12". Room inside for 

mounting above monitor, power supply, & S.B.C. 

• PERFECT FIT FOR XEROX 820-1 BOARD! 

NEW, SHIPPING WEIGHT 12 LBS 

ENCLOSURE ONLY .$40.00 

KEYBOARD & ENCLOSURE 

80-key X-Y scanned microprocessor controlled ASC II 

encoder kit. ROM source code supplied. 17x8.5x3". 

New, with schematics, weight 8 lbs 

KEYBOARD, ENCODER KIT, ENCLOSURE $60.00 

Regulated power supply; 6 outputs: 5v @ 4 A, +/- 12 v 
@0.2A, +24v@1.2A, -24v @ 0.2A, +15v-@ 2.6 A. 
14x4x3", 10 lbs, New. 
REGULATED POWER SUPPLY $35.00 

ARKON ENGINEERING 

PO Box 60, Rome NY 13440 

(315) 336-4381 or (339-2232 evenings) 

TERMS: Prepaid or UPS COD (CASH OR CERTIFIED 
CHECKS ONLY.) 




Are you signing your name with an X 
because spelling doesn't come easily? 

Then you need SpellSys! 

With this full-feature package, you can 
write prose with the pros. SpellSys fea- 
tures a 42,000 word dictionary and all 
the bells and whistles of those expensive 
checkers— including rhyming, crossword 
search, letter unscrambling, etc. 

SpellSys is made up of a group of indiv- 
idual programs which you can use toge- 
ther or separately. With SpellSys you can 
setup and maintain your own custom 
dictionary (in addition to the main dic- 
tionary). These are real dictionaries, not 
hash tables, so you edit or remove words 
from your own dictionary at will. 



IT'S EASY TO USE! 
Just enter "SPELLSYS", select which 
disks you'll use, and file you're checking. 
Then SpellSys takes over. Everything is 
self-prompting— so sit back and relax. 



pellSys 



Word Review Operations 


C . 


. show Context in file 


L . 


. Lookup word in dictionary 


M . 


. Misspelled (correct file to ) 


D . 


. put in user Dictionary 


1 . 


. Ignore 


N . 


. Next word 


P . 


. Previous word 


E . 


. Exit review 


? 


. (or any other key) displays menu 



ORDER AT NO RISK! 

Check out the manual and if you don't 
agree that SpellSys is a super bargain, 
just return the package with the disk un- 
opened within 30 days and we'll refund 
your money. 



SPELLSYS $29.95 ppd. in US & Can 
Other Foreign add $5.00 
Requires 32K CP/M* 

Formats: 8" SS SD or 

5" SS DD for KayPro, Xerox, 
Osborne, Morrow, Superbrain. 



•CP/M is a trademark of Digital Research 

P.O. Box 65 Bend, OR 97709 
MC (503) 382-8048 Visa 



Enhance Your KAYPRO 



CP/M2.2E 

Enhancements for the CP/M operating system 

• FASTCOPY. Much faster copy and format operation 
for single and double-sided disks. 

• PUBLIC FILES. Access one copy of your program and 
related files from any user number. 

• Improved TYPE command — includes a print option. 

• Automatic drive search, and other useful features. 

Plu*Perfect Writer 

Enhancements for Perfect Writer versions 1 .03 and 1 .20 

• One touch commands, using any keypad key. 

• Change the size of your swap file. 
While editing, with new PW commands: 

• Obtain a built-in directory listing 

• Change disks • Change user number (1.20) 

• Set page size and move around pages (1 .20) 

• Available for Kaypro II (2), 4 and 10. Enquire about installation 
procedure on Kaypros with Drivetec drives. 



The Backgrounder 

— with definable keys — 

Suspend any program to: 

• Print the screen • Write a background file 

• Use a Help key • Use any built-in CP/M command 

Fully definable keys: 

• Every key is redefinable — up to 255 characters 

• All regular keys are still available 

• Create and save definitions while running a 
program 

• Automatically load customized definitions for each 
program 

Background printing: 

• Print files while running programs. 

The Backgrounder — It's like having a second computer! 
(requires CP/M 2.2E) 

• Previous customers: send original disk plus $5 to upgrade 
to latest versions. 



See Your Dealer or Purchase Direct 



[Pluperfect Systems] 

BOX 1494 • IDYLLWILD, CA 92349 • 714-659-4432 



(Orders outside N. America, $5 shipping per disk. 
Any checks should be drawn on U.S. bank.) 




K-1 Plu*Perfect Writer & CP/M 2.2E $39 
K-2 The Backgrounder $45 

K-3 CP/M2.2E $32 

Deduct $5 if ordering 2 or more disks 

Subtotal 

California sales tax (6%) 

Shipping & handling 

TOTAL 



3.00 



Trademarks: The Backgrounder (Plu'Perfect Systems), Kaypro (Kaypro Corporation), CP/M (Digital Research), Perfect Writer (Perfect Software). 



Micro Cornucopia, Number 20, October 1984 



25 



The Kaypro Column 



By David Thompson 



Xhis column is about "new." I mean 
new drives and disks, the Robie variety 
and a new system, the Kaypro PC. 

Robie 

Speaking of the Robie, this little duck- 
ling has the heart of an 84 system, just 
the drives, drive clock, BIOS and moni- 
tor have been changed. Early feedback 
on the Robie has indicated that there is a 
problem with the media (disks). 

Everyone expected problems with the 
drives, I mean, 2.6 meg per disk doesn't 
leave a lot of room for error (or anything 
else). However, these drives are similar 
enough to the current 5" drives that it 
shouldn't be too hard to add them to 
standard Kaypros (if there are any stand- 
ard Kaypros still out there what with 5 
MHz, 4 drives, and quad density). 

Anyway, we're already working on it, 
and you'll be hearing more about these 
right here. Don't expect to see these 
$500+ drives showing up on the surplus 
market soon because there is definitely a 
lot of interest in them. Also, the disks are 
about $10 each though they look very 
similar to standard 5" floppies. 

The Robie drive can read standard 
Kaypro II and 4 disks but it cannot write 
data on these disks — so software trans- 
fers are one way only (whereas a quad- 
density drive can format and write Kay- 
pro II and 4 disks) . 

Theoretically the Drivetec drives 
should provide very good data reliabili- 
ty. You see, the drive has two stepper 
motors. One positions the head to the 
approximate track location and the other 
then adjusts the head position slightly to 
maximize the signal. 

Your Disks are All Wet 

The biggest problem with standard 
floppy disks is that the base material is 
hydroscopic so it expands and contracts 
depending on the humidity. A disk you 
format and write at the coast might be 
difficult to read on the high desert (espe- 
cially if one of your drives is aligned 
slightly differently from the other and 
it's off in the wrong direction). 

Blow-drying (use a slightly warm set- 
ting) a disk for half an hour, or placing it 
in a steamy bathroom for a few hours, 
might be all you need to do to read a 
balky disk. (Note, if your girl friend 



catches you using her hair dryer on your 
disks just tell her you're trying out the 
latest style in software development. If 
she doesn't buy that, you probably 
shouldn't try the same ploy on the guys 
at the funny farm.) Hold the disk's jacket 
(not your jacket) open a bit so that the 
moist or dry air can reach all of the sur- 
face. 

Anyway, the Drivetec drives compen- 
sate for the changes in disk diameter. 
However, disk size is not the only prob- 
lem caused by the environment. Most 
disks are rated for 3 to 3 1/2 million head 
passes (per track) before the media 
wears out. Well, some of the disks avail- 
able for the Robie drives are wearing out 
after 1 or 2 million passes, but this short- 
ened life appears to correspond with 
high-temperature (80-100 degrees) and/ 
or high humidity (90+ %). 

At 70 degrees and 50% humidity, the 
disks appear to be unscathed after 4 mil- 
lion passes. 

There appears to be some disagree- 
ment about who makes the best Robie 
media. Drivetec feels that Brown disks 
are best, and the Drivetec branded disks 
are really Brown. Other folks feel that 
Maxell disks are the best. We'll have to ' 
wait and see. I hope that these Maxell 
disks are not as abrasive as the standard 
Maxell 5" disks. Anyway, Brown is sup- 
posedly coming up with a revised media 
package so their disks may be getting 
better. 

Squeezing in 192 tracks per inch (sar- 
dines have nothing to complain about) 
might appear to be foolhardy especially 
when you realize that they have data be- 
tween the tracks. They call this data 
"servo bursts" and if the drive doesn't 
detect these little off-track marks it 
doesn't send index pulses to the Kaypro. 
Obviously you have to purchase the 
disks pre-formatted, and heaven help 
the little gnome who passes a magnet 
over papa's new disks. 

Manufacturing 

There are four outfits who either are, 
or soon will be, manufacturing Robie 
disks: Spin Physics (owned by Kodak), 
Maxell, Dysan, and Brown. 

Kodak (via Spin Physics) is supposed- 
ly working on expanding the disk tech- 
nology. They already have a super den- 



sity 5" disk and are working on an even 
higher density version with vertically 
polarized media. Anyway, the Robie 
drive is already one level behind the 
state of the art and will soon be two lev- 
els down. 

Three outfits will be manufacturing 
Robie-style drives: Drivetec, Kaypro, 
and Kodak. Kaypro and Kodak will be 
manufacturing them under license from 
Drivetec. 

There are currently only about a dozen 
12X systems in existance (the Kaypro 10 
with a 2.6 meg floppy drive). The engi- 
neers at Kaypro are using these 12Xs for 
software development (such a deal). 

Ungrounded Problems 

The current Robie drives have had a 
problem with electrical noise, and the 
folks at Kaypro are testing out the fol- 
lowing fix. Unplug the green wires from 
the grounding tabs on the drives and 
then tie pins 3 and 7 together on the 
power supply. This is supposed to tie the 
chassis ground and the 12V return line 
together. They feel that the noise results 
from a ground loop. 

Superterm Won't Be 

Kaypro will be doing away with Su- 
perterm in the very near future. (Do I 
hear hooray's?) They will be replacing it 
with a menu-driven version of Myte. 
(More hooray's?) 

PC Compatible From Kaypro 

The word is that Kaypro will be show- 
ing its new PC compatible at Comdex. It 
will be a very PC XT like system com- 
plete with Winchester and will run 1-2-3 
and Flight Simulator. 

Flight Simulator is significant, not so 
much because everyone wants to run it, 
(come fly with me) but because it is con- 
sidered one of the best tests for PC com- 
patibility. If you can run this program, 
you are really compatible. 

It comes with a Western Digital Win- 
chester controller, 256K (you can add an 
additional 192K on board), an 8088 (I be- 
lieve) on the plug-in processor card 
(keeping their options open), and one 
additional card slot for adding additional 
hardware. 

It will come inside a standard Kaypro 
10 cabinet (do I hear murmurs in the 



26 



Micro Cornucopia, Number 20, October 1984 



crowd?) and will have a built-in 9" green 
CRT. The choice of cabinet limits them to 
the single open card slot. There will be a 
connector on the back for plugging in an- 
other monitor. The system weighs about 
the same as the current Kaypro 10. 

I don't have any word on the software 
package that will come with the system 
but considering MicroPros selection of 
PC software, I wouldn't be surprised to 
see WordStar, CalcStar . . . combined 
with the new system. 

Another Neat Publication 

Push and Pop is the monthly publica- 
tion (30 pages) of Sacramento's Micro- 
computer User Group. The June issue 
covered translating Fortran programs in- 
to Pascal, CP/M 68K, purchasing a com- 
puter, and Winchester drive notes. The 
magazine is well done and easy to read. 

The publication contains a list of other 



Sacramento User Groups: Big Board, 
Morrow, S-100, Televideo, Heath-Ze- 
nith, Kaypro, Osborne, and Sanyo. The 
Big Board group's number is 916-383- 
7059 (Harold Musser, eves), the Kaypro 
group's number is 916-961-8810 (Marty 
Meyer), and the Morrow group is avail- 
able at 916-421-6268 (Milt Levison). 

Subscriptions are $10 per year and 
their address is SMUG, PO Box 161513, 
Sacramento, CA 95816 (Attn Push and 
Pop). 

84 Board Service Hints 

The 74LS373 (U6) is reportedly the cul- 
prit when the Centronics port goes to 
lunch (makes sense). 

If you are having autodialer problems, 
you can check out your dialer chip (U19) 
by selecting pulse mode in Superterm's 
dial menu and then listening to the chip 
(you can actually hear it work). If you 



don't hear anything, suspect either the 
TMS 99531 dialer or the Z80A. As we re- 
ported last issue, some people are re- 
porting that their system is locking up 
during dialing and many of them have 
been told to replace their Z80A with a 
Z80H. 

On the Kaypro 10s, some people are 
getting a "status 02" error message. That 
usually means that the Kaypro can't read 
the system tracks. (The Winchester 
might not be up to speed or that the sys- 
tem tracks may have been garbaged.) 
The Winchester may be slow coming up, 
the +12V supply may be weak, or you 
may need to replace the system track. 
(Check Kaypro documentation if it looks 
like you need to rewrite the system 
tracks.) 



■ * »,-■:.. Jg» ■ "....- .MUW B. A. 1 ' ", ■ J.W Wl f 



KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO 




K 
A 
Y 
P 
R 
O 

K 
A 
Y 
P 
R 
O 



A 
Y 
P 
R 
O 



Kug Update and Invitation 

KUG, the International Kaypro Users' Group, invites you to join the more than 15,000 
members from around the world. 

As a member, you will receive the bi-monthly KUGRAM® newsletter that is read in all 
50 states and 23 countries worldwide. The articles and programs in KUGRAM® are 
aimed at the first time user and the "pro". We have received welcoming comments from 
both. Our column on CP/M titled CP/M STUFF, is regarded as a fine tutorial in working 
with the KAYPRO operating system. Others include BOX 100 (letters from members), CHAPTERS (new chapters 
from around the world), IN RESPONSE (answers to the many questions we receive), VENDORS (suppliers of 
Kaypro compatible products) and REVIEWS of software and hardware for the Kaypro Computer. 

KUG also operates its own Bulletin Board and is a SIG (Special Interest Group) on CompuServe (GO PCS 25). You 
can meet and communicate with other KUGGERS through this electronic medium. 

The KUG library has excellent public domain software such as GAMES (Adventure, Pac-Man, Eliza and more), 
UTILITIES (programs to make your file handling easier), HELPS (helpful hints on MBASIC, SBASIC, CP/M and 
others), also programs for MODEM, BUSINESS, STATISTICS, MULTI-FORMATS plus contributions from members 
that are constantly beings added and updated. 

Other services include free information on starting your own Local KUG, information on printer configurations, 
updates on hardware and software, the latest news from Kaypro Corp. and MORE. 

For additional information and KUG membership application, fill out the coupon and send it to: 

KUG BOX 100 K MALVERNE, NY 11565 

Do it now and find new friendly KUGGERS through the independent international Kaypro Users' Group. 
NAME , 



ADDRESS 
CITY 



STATE 



ZIP 



K 
A 
Y 
P 
R 
O 

K 
A 
Y 
P 
R 
O 

K 
A 
Y 
P 
R 
O 

K 
A 
Y 
P 
R 
O 



PHONE ( 



KAYPRO MODEL 



KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO KAYPRO 



Micro Cornucopia, Number 20, October 1984 



27 



Create graphics masterpieces with. . . 



(jLetmmndt 

Complete Business Graphics Toolkif 



NEED GRAPHICS? You don't need a new computer. You need REMBRANDT. The software 
package that unleashes all the graphics power built into your Kaypro Computer. 

Until now, accessing Kaypro graphics required advanced programming efforts. Now the 

REMBRANDT Business Graphics Toolkit gives you three easy-to-use tools that allow even the 

most inexperienced user to quickly master Kaypro graphics. 

KGRAPH™ enables quick and easy creation of business KBOARD " is the full-screen graphics editor for your 

graphics including horizontal and vertical bar charts, pie Kaypro computer. Create graphic screens, save and recall 

charts and xy plots (scatter-graphsj — KGRAPH uses-hand them to and from disk. Layout forms, design logos, draw 
entered data or reads numerical data from just about any pictures. It's easy and fun to use! 

source including dBase \\. 'spreadsheet, Mbasic and 
Wordstar files. 

KBRIEF™ produces electronic on-screen "slide shows" with absolutely 
no programming required! KGRAPH and KBOARD files are 
easily sequenced using nine special effects! 

REMBRANDT is complete with printer routines so graphics can be reproduced on virtually every 

dot-matrix or daisy-wheel printer. 

See your Kaypro dealer for a demonstration of REMBRANDT, the Complete Business Graphics Toolkit. 

REMBRANDT costs just $79.95, but is introductory-priced at $69.95 until October 31. 

A demonstration disk is just S5.00 applicable to the purchase price. 

For Kaypro 2-84, 2X, 4-84, 4E, 4X, 10, 12X and Robie. 

Make your KAYPRO computer IBM-PC compatible 

for $29.95! 

READ, WRITE and FORMAT more than 25 different 
types of disks (including IBM PC-DOS/MS-DOS) with 






Are you tired of trying to find your favorite software package in Kaypro format? Would you like to use your 

Kaypro generated Wordstar files, dBase II data and spreadsheet files on the IBM-PC at work (and vice-versa)? 

Do you want to trade public domain software with a friend who owns an Osborne? 

MEDIA MASTER gives your Kaypro instant access to program and data files in over 25 disk formats including: 



Osborne SD & DD 
IBM PC-DOS 1.0 & up 
IBM PC-DOS 2.0 & up 
IBM CP/M-86 
Morrow MD2 
Systel II 



LIMW-80 

TRS-80 with Omikron CP/M 

TRS-80 III w/Memoiy Merchant 

TRS-80 IV with CP/M+ 

Heath Z100 

Heath w/Magnolia CP/M 



Cromemco w/lnt'l Term 

Cromemco CDOS SSDD 

Cromemco CDOS SSSD 

Tl Professional CP/M-86 

Actrix 

Lobo Max-80 



Xerox 820 I SD 
Xerox 820 II DD 
Zenith Z90 
DEC VT180 
IS/EC PC-8001A 
Kaypro II 



Now available for Kaypro 2 (and II): All other models soon! 



ORDERING INFORMATION: Include S3 per order for postage/handling. Overseas airmail add $10. 

California residents add 6% tax (LA County, add 6.5%). 
To place COD or credit card orders. 

Call TOLL FREE 24 hours: 800-824-7888 (Ask for Operator 407) 

Alaska, Hawaii: 800-824-791 9 (Ask for Operator 407) 

Technical questions: call (818) 716-1655 

For more information, a free brochure (including sample printouts and reviews), or to order, contact: 

23145 Big ler Street 
Woodland Hills, CA 91364 




All programs also available for OSBORNE and DEC RAINBOW computers. Dealer inquiries invited. 
See us at EAST COAST COMPUTER FAIRE booth #1119 



28 



Micro Cornucopia, Number 20, October 1984 



GET IN THE FAST LANE 

WITHOUT BURNING YOUR WALLET 
with a 

U.S. ROBOTICS 
1200 BAUD MODEM 

Product: Features: Our Cash Price: List: 

Auto Dial 212A: 1200/300 baud, auto answer/dial $425.. $599 

Password: Coat-pocketable Auto Dial 212A $329.. $449 

S-100 Modem Auto-Dial 12/6/300 baud on S100 card. . .$329. .$449 

Telpac: Modem Software from USR $69... $79 

Lamp: CPM/80 Modem Software by Widener Consulting. . .$20 

Latest Technology Fewer Parts Two Year Warranty 

All units are direct connect, full or half duplex 212A, software 
compatible with the Hayes Smartmodems. The Auto Dial has two RJ11C 
jacks, analog selftest, status LED's and a metal case; Password has 
a smaller plastic case and built-in RS232 cable, male or female. 

POWERFUL PRODUCTS FOR BB AND KAYPRO! 

All those who have lusted after several add-ons for the Big Board I, 
but been discouraged by the shortage of parallel ports, take notice I 
Now you can run all the add-ons at once with the 



PARALLEL 



PORT 



N D 



$189 assembled & tested 
$59 bare board 



- eight I/O ports, compatible with BBI&II, Xerox 820, Kaypro II&IV. 

- no mods to BB, Xerox, does not interfere with other add-ons 

- operate 2 parallel printers, rom burner, hard disk, and Dynadisk! 

- And if you are a real hog, parallel four expanders for 32 ports! 

- includes fancy BIOS, 2 par. & 1 serial printer selected by IOBYTE. 

- includes instructions, integrated ROM burner and Dynadisk software 

- adapt Big Board add-ons to the Kaypro. 

THE ULTIMATE 

255 CONTINUOUS CHARACTER AND REVERSE VIDEO CURSOR 

BIG BOARD I AND KAYPRO 11/ IV MOD 

Now you can have a significant increase in the writing power of your 
system, with the ability to key in, display, edit, and print 212 
characters, including continuous line graphics. Other features are 
blinking or constant reverse video cursor, character sets to match 
NEC 8023, C.Itoh Prowriter, and IBMPC, key labels, reverse video 
fields, improvements in the monitor rom, integration with Perfect 
Writer and Formattter. The mod comes assembled and tested and 
requires about 45 minutes to install. Software is included to define 
custom characters: blow your own rom, or we will do it. 

NEC Extended character set (C.Itoh has same set, just re-arranged): 



The Ultimate Video Mod $189.00 

Perfect Writer $199.00 

Designing a circuit board? Call us about 3 day film&board turnaround! 

Cash price with U.S. shipping; Visa/MC/Net30 add 3%, COD $6. 
Dealer inquiries invited - quantity discounts available. 



Widener Consulting 
2835 NE Brogden 

Hillsboro, OR 97124 
(503) 648-0363 





LINK 
YOUR 
GANG 
TOGETHER 

Control up to 4 AC devices at 

one time with your Kaypro* 

computer. 

• Without tying up either your RS232 or Centronics Port 

• 7500V isolation between computer and controlled 
devices 

• No moving parts 

• Simple plug In installation to your computer 

• Requires no soldering or cutting in your Kaypro" 

• Software examples in Basic and Z80 Assembly 
Language 

• Easy to create your own specialized programs 

INCLUDES: 

• Fully assembled and tested printed circuit board 

• 5V*" diskette with software examples and documen- 
tation 

• plug In adapter and cable for the Kaypro' II and IV 
(Ask about versions for Kaypro" 10 or Kaypro" 4/84) 

ONLY $39.95 (plus $2.00 shipping & handling) 

30 day Money Back Guarantee 

Send check, money orders, orlnqulrles for THE MASTER SWITCH to: 

SIPPE SYSTEMS 

6520 Selma Ave., Box 528 

Los Angeles, California 90028 

'Kaypro 1$ a trademark of Kaypro Corporation 



A NEW TWIST 







FAT JACK 

READING RACK 

• SEE COPY-SCREEN/KEYBOARD 
AT THE SAME TIME. 

• EASILY ATTACHED TO 
ANY KAYPRO™ 

• 16" WIDE- AND STRONG 
FULLY SUPPORTS - BOOKS 
MAGAZINES • REPORTS 
WITH UNIQUE PAGECLIP'" 

Dealer and group inquiries invited. 

ONLY $17.95 +S1. 50 Shipping 
(Continental U.S.A.) 
Washington Residents Add $1 .45 Sales Tax. 
Cashier Checks & Money Orders Shipped Promptly. 
(Personal Checks Must Clear - 2 Weeks.) 
(Price & Configuration subject to change without notice.) 

The Best Accessory 

You'll Ever Buy For Your 

Kaypro™ 

ORDER FROM: 
TWIST, INC. 

P.O. Box 1406. Renton. WA 98057 



Micro Cornucopia, Number 20, October 1984 



29 



Cheap and Dirty Talker for your Kaypro 

James E. Shaffer 



445 S. Los Robles 
Pasadena CA 91101 



When you are asked, "What can your 
Kaypro computer do?", wouldn't it be 
nice to have your Kaypro say, "I'll han- 
dle that question myself. And by the 
way, what can you do?" 

With the Cheap and Dirty Talker, your 
Kaypro will be able to say anything you 
have stored in its memory (up to 20 sec- 
onds of speech). 

The Talker will let you to calibrate its 
input level; store voice data in memory; 
play it back from memory; store the voice 
data onto drive B; read the voice data 
from drive B and store it in memory; and 
view the voice data on the screen. The 
technique used is called differentiated 
and integrated speech. 

Hardwords 

The hardware is typical Cheap and 
Dirty and will make your Kaypro's voice 
sound a little mechanical and raspy, but 
very intelligible. 

You can make improvements to this 
circuit so that the speech is telephone 
quality but that would require more 
components. And after all, this is a 
Cheap and Dirty project. 

The hardware (figure 1) consists of 2 
capacitors and 3 resistors plus almost 
any amplifier/speaker and microphone. 
I am using a Radio Shack Mini Amplifier/ 
Speaker ($8.95 when on sale) and a crys- 
tal mike cartridge ($3.00 at most elec- 
tronic stores). Your stereo should work 
well; most small cassette recorders with 
a built-in mike will also suffice. 

Basic Poking 

The listing (figure 2) is MBASIC with a 
poked-in machine language program 
which does most of the work. The ma- 
chine language is customized for a 4 Mhz 
clock. To re-customize it, change the last 
data number in line 170 to 23 for 2.5 Mhz 
or 46 for 5 Mhz. If you have another clock 
frequency, figure it out yourself. 

You must save 16K for the TALKER to 
operate. With MBASIC in drive A and 
the TALKER program (named TALKER. 
BAS) in drive B, type 'MBASIC 
B:TALKER/M:&H9FFF. This should 
produce the Cheap and Dirty Menu. 

Option 1 will help you calibrate the 
output volume of your amplifier and mi- 
crophone to a level the Kaypro will ac- 
cept. When calibrating and inputting 



dom file statements for these options. 

The Cheap and Dirty Talker should 
keep you busy for a while experimenting 
with voice recognition. 

Editor's note: Now that you can digitize 
your voice, think of all the things you can do! 
First, there is voice recognition, and voice 
control, and finally, of course, mind control 
(it's no longer going to be mind over Kaypro). 

■ U ■ 



210 


PRINT: 


; PRINT 


220 


PRINT 


" [2] 


230 


PRINT 


" [3] 


240 


PRINT 


" [4] 


250 


PRINT 


■ [5] 


260 


PRINT 


- [6] 



voice data into memory (Option 2) be- 
ware of background noise. Barking 
dogs, noisy kids or traffic will garble and 
distort your Kaypro's voice. Speak dis- 
tinctly and keep your mouth close to the 
microphone. (This is your Kaypro you're 
speaking to, remember?) 

Options 4 and 5 save data to and read 
data from drive B. They are sequential 
files and take forever to finish. If you 
don't like to wait, write your own ran- 



Figure 2 - Listing in MBASIC 



140 FOR 1=409601 TO 41041 !:READ X:P0KE I,X:NEXT:VOICE=&HA000:VOICE1=&HA031 
150 DATA 33, 0, 164, 14, 8,21 9, 28,230, 8, 202, 5, 160, 21 9i28, 230, 8, 31, 31 
160 DATA 31,31,126,31,119,13,194,36,160,14,8,35,124,254,228,202 
170 DATA 48,160,205,42,160,195,12,160,6, 37 

180 DATA 5,194,44,160,201,33,0,164,14,8,126,15,211,8,0,0,0,0,119,13,194 
190 DATA 76,160,14,8,35,124,254,228,202,48,160,205,42,160,195,54,160 
200 PRINT CHR$( 26): PRINT: PRINT .-PRINT: PRINT SPC(8); "CHEAP & DIRTY TALKER MENU" 
" [1] Calibrate voice data input level." 
Input voice data to memory." 
Output voice data from memory to speaker. " 
Store voice data to disk. (Stores on drive B) n 
Read disk and store voice data in memory. (Reads drive B) n 
Print voice data in memory to screen." 
270 PRINT: PRINT: INPUT "Your choice ";X:IF X<1 OR X>6 THEN 270 
280 ON X GOTO 300,400,500,600,700,800 
300 PRINT CHR$(26 ): PRINT: PRINT: 

310 PRINT "Set up your microphone and amplifier as per figure 1 in Micro-C." 
320 PRINT "Set the amplifier volume control at a place where *'s do not" 
330 PRINT "print en the screen, but if you speak into the mike they print." 
340 PRINT "Watch out for background noise! When you say 'SIX' into the mike" 
350 PRINT "the ''s should print approximately 1/2 line with a 4 Mhz clock." 
360 PRINT "A 2.5 Mhz clock =1/4 line. A 5 Mhz clock = 1/2 line plus a few." 

370 PRINT "TOUCH ANY KEY TO RETURN TO MENU. HERE WE GO "; 

380 IF INP(28) AND 8 THEN PRINT "»"; 

390 X$=INKEY$:IF X$="" THEN 380 ELSE 200 

400 PRINT CHR$( 26): PRINT: PRINT 

410 PRINT "When your ready, touch any key to start. When you see START INPUT" 

415 PRINT " Speak distinctly into the mike.":PRINT 

416 X$=INKEY$:IF X$="" THEN 416 

420 FOR 1=1 TO 1500:NEXT:PRINT "START INPUT":CALL VOICE: PRINT: PRINT 

430 PRINT "STOP INPUT Press R to repeat or M to return to menu." 

440 X$=INKEY$:IF X$="" THEN 440 ELSE IF X$="R" OR X$="r" THEN 400 

450 IF X$="M" OR X$="m" THEN 200 ELSE 440 

500 PRINT CHR$(26):PRINT:PRINT 

510 PRINT "Configure your amp. for voice data output as per Micro-C fig. 1." 

520 PRINT "When your ready touch any key." 

530 X$=INKEY$:IF X$=" n THEN 530 ELSE PRINT "Amazing isn't it ?" 

535 CALL V0ICE1 

540 PRINT "Voice output complete. To stop type M. To repeat type R. " 

550 X$=INKEY$:IF X$="" THEN 550 ELSE IF X$="M" OR X$="m" THEN 200 

560 IF X$="R" OR X$="r" THEN 535 ELSE 550 

600 OPEN "0",#1,"B:DATA.BAS":PRINT:PRINT "Recording B:DATA.BAS" 

610 FOR 1=41984! TO 58367I :A=PEEK(I):IF A=26 THEN A=25 

620 IF A=13 THEN A=14 ELSE IF A=10 THEN A=9 

630 PRINT #1,CHR$( A): NEXT: CLOSE #1:G0T0 200 

700 OPEN "I", #1,"B:DATA. BAS": PRINT: PRINT "Reading B:DATA.BAS" 

710 FOR 1=41984! TO 58367!:IF E0F(1) THEN CLOSE #1 :G0T0 200 

720 LINE INPUT #1,X$:IF X$="" THEN POKE 1,0 ELSE POKE I,ASC(X$) 

730 NEXT:CLOSE #1:G0T0 200 

800 PRINT CHR$(26); "PRINTING VOICE DATA ON SCREEN" 

810 FOR 1=41984! TO 58367!:PRINT USING "#M#";PEEK(I); 

820 IF P0S(3)>75 THEN PRINT CHR$(13) 

830 NEXT:PRINT:PRINT "To return to MENU touch any key." 

840 X$=INKEY$:IF X$="" OR X$=CHR$(19) THEN 840 ELSE 200 



30 



Micro Cornucopia, Number 20, October 1984 



C01686 ATTACHED RESOURCE PROCESSOR 

MS-DOS 2.11 CP/M-86 CP/M-80 RAM DISK 

8086 8087 768K RAM 

For ANY Z80 Based CPM System 

"THE 16 BIT CO-PROCESSOR TO BE MEASURED BY THE COMPANY IT KEEPS" 



Kaypro 2, Osborn I, 
TRS-80/I, Bigboard, 
Max80, Heath H8, Altos 
Dynabyte, Xerox 820-1, 
Horizon, Heath H89, 
Systems, Multitech, 
Intersystem, Televideo 802, 
Teletek, Cromemcro, 
Morrow MD3, 
Discovery, Exidy Sorcer, 
TRS-80/4, 
Xerox 820-11, 
Altos Series 5, 
Microengine, Magic, 
Superbrain, Morrow MD11, 
Davidge, Northstar 




Televideo 803, Eagle 1, 

Epson QX10, Lobo 

8000-10, Lanier EZ1, Zorba 

TRS-80/1I, North Star 

TRS-80/III, Monolithic 

Convertable, BMC, Ithaca 

Kaypro 4, Osborn Exec, 

Compupro, Altos 8000-12, 

... ..... t DECVT180, 

L^, Kaypro 10, 

Wave Mate Bullet, 
Portabrain, 
TRS-80/12, 
TRS-80/16A, 
Sierra, Vector, 
Advantage, 



K^y 



and many other Z80 systems owners are all extremely satisfied with the C01686 
ATTACHED RESOURCE PROCESSOR. 

And why shouldn't they be. Look at these impressive features: 



A True 16 Bit 8086 Processor 

256K to 768K RAM 

MS-DOS 2.11 &CPM86 

Emulation of 80% of "PC" ROM BIOS 

Thousands of CPM86, MS-DOS, & "PC" 

Applications will run 

MS-DOS & CPM disk files can be co-resident 

on the sames device (including harddisk) 

Can be used as 768K of high speed CPM80 

RAM Disk 



• Easily installed on any Z80 based system 

• Available in an external cabinet w/ power supply 

• Optional 8087 Math Co-Processor, Real Time 
Clock, 8 Level Interrupt Controller, 

& Proprietory I/O Bus 

• Delivered with Logics and Sources 

• Optional 12 month warrantee 

• Full money back guarantee that it will function 
on your Z80 system 

• A Quarterly Newsletter 



PRICES START AT A LOW $495.00. 



For additional information about this revolutionary product, or our Motoroal 68000 Co-Processor, 
contact your favorite dealer, send $1 (no checks please) or call: 



iHse 



Hallock Systems Company, Inc. 
262 East Main Street 
Frankfort, New York 13340 
(315) 895-7426 



RESELLER AND OEM 
INQUIRIES INVITED. 



Figure 7 - Talker Schematic 

CRYSTAL MIK.E 



•W 



IN 
OUT 



10K. 



4-7K 



MINI AMp/SPBAKER 



KAYPRO rr. 
PRINTER PORT 
J2 
»U 



T 



16 



l «e& 




MINI AMP/SPMK6R 



KAyPRo It 
PRINTER pORT 
J2 

♦ 9 



Digital Dynamics' 

SPEEDPRO-5RTC 

5 MHZ Speedup Board With 

Real Time Clock/Calendar 

and TIMEPRO 

THIS IS THE TIMEPRO 

SOFTWARE SYSTEM: 

TIME.COM — Set/display the time. 

DATE.COM — Set/display the date. 

SEETIME.COM — Continuous display of 

the time and date, even when running 

application programs like Wordstar. 

TD.COM — Records the time and date 

your disk files were last updated. Optionally 

backs up all updated files. 

APT. COM — Schedules your time. Warns 

of impending events. Usable by up to 20 

different users. Utilities include calendar 

generation and date calculation. 

APPTARCH.COM — Archives schedule 

data from APPT for future reference. Recall 

data by date range or key word/ phrase. 

APPTaSR.COM — Maintains user log for 

the APPT program. 

PRNL.COM — Maintains file of yearly or 

one-time events. Recall data by date or key 

word/ phrase. 

OTHR.COM — Displays the time in user 

selected locations in other time zones. 

TIMER.COM — Maintains a log of up to 99 

ongoing activities. Displays the name, start 

time/date and duration to the second of 

each activity. 

TIME.ASM — Assembly language source 

code listing for T1ME.COM. 

DATE ASM — Assembly language source 

code listing for DATE.COM. 

CLK.C — Source code for clock access 

routines in BDS C. 

CLK.PAS — Source code for clock access 

routines in TCIRBO PASCAL. 

CLKM.BAS — Source code for clock 

access routines in MBASIC 

CLKS.BAS — Source code for clock 

access routines in SBAS1C. 

TIMEPRO runs on the Kaypro II and 4 (pre- 
1984) equipped with the SPEEDPRO- 
5RTC. And does it run — 5 MHZ fast! 

SPEEDPRO-5RTC 

Board & Software $159.95 

TIMEPRO DOCUMENTATION 

on Disk (will be credited 

toward purchase of 

SPEEDPRO-5RTC) $ 15.95 

SPEEDPRO-5+ Speedup 

Board $ 89.95 

(prices exclusive of shipping) 

NOW IS THE TIME! 

Digital Dynamics (206) 627-0797 

P.O. Box 5653 Tacoma, WA 98405 



Micro Cornucopia, Number 20, October 1984 



31 




Over 40% of all failures in transportable computers are caused by 
mechanical failure of the floppy drives. Does not need any additional 
equipment. You may test any Kaypro® portable as fast as you can 
make an omelette. 

BE SAFE!! 
Our kit will help you keep your drives in top shape! 

*48 TPI or 96TPI, Full or Half Size 




SHEEPSHEAD SOFTWARE™ 

P.O. Box 486 

Boonville, CA 95415 

(707) 463-1833 • (707) 468-8717 



Phone orders Mon.-Sat., 9 a.m. to 9 
p.m., Pacific Coast Time. Check, 
Money Order, MASTER/VISA Card or 
C.O.D., add $2. Calif, add 6%, UPS 
Blue Label add $5. 



32 



Micro Cornucopia, Number 20, October 1984 



The Slicer Column 



By Laine Stump 



Micro C Staff 



Some great things are happening at 
Slicer Computers these days. Dean Klein 
and Earl Hinrichs were in Bend for SOG 
III to fill us in on what is new (and what 
will be new, in a few months) in the 16 bit 
world. Dean has several new designs in 
the coals and Earl has new software that 
is more incredible than ever (if that is 
possible). 

A Short Disclaimer 

Please be aware that the following 
goodies are not yet available (but they, 
are supposed to be soon). We'll let you 
know when they are ready. 

Software 

The hottest software news is that Earl 
is working on Concurrent CP/M. For the 
unenlightened, Concurrent (or CCP/M) 
is a multi-user equivalent af CP/M that 
allows you not only to have multiple 
'physical' consoles hooked up and run- 
ning at the same time, but also allows 
one 'physical' console to be in control of 
several 'virtual' consoles. 

One of the 'virtual' consoles is the 
'foreground process' or the one the user 
is currently interacting with and the oth- 
ers are 'background processes' (sure are 
a lot of buzz words around here). Each 
process is given a 'window' on the 
screen to display what is happening with 
it at any time and even though you can 
only give input to one process at a time, 
the others are still back there churning 
away at whatever you previously told 
them to do. 

CCP/M uses a clock interrupt to allot 
'slices' (Hmm, I think I see a 'Daveism' 
here) of time to each process in round 
robin fashion. Whenever a timer inter- 
rupt occurs, the operating system just 
saves the state of the current process and 
switches to another. Even though the 
processor can really only do one thing at 
a time, it appears to be doing several 
things at once. 

CCP/M is extremely handy for pro- 
gram development — you can start a pro- 
gram compiling on one console — and 
begin debugging another program on a 
second console — while editing the pro- 
gram on a third. Meanwhile, the fourth 
console is dialing up the DOW network 
to capture the latest stock quotes on your 
multi-million dollar software firm. 



This sounds like a lot of consoles to 
buy, but you only have to have one actu- 
al terminal (although you could have 
several if you wanted). The other proc- 
esses have as much of their output dis- 
played in their window as there is room 
for and the rest is stored in memory so 
that when you swap processes (by sim- 
ply typing a function key) you can en- 
large the window and see everything 
happening with the new foreground 
process. 

Some have said that the 'window' 
concept couldn't be implemented on a 
serial terminal but Earl has windows 
working on the Slicer with any terminal 
you would like to hook to it. 

If you're worrying how your compila- 
tion is going, it's easy to check on it. 
Without having to change processes at 
all, you can just glance down to the bot- 
tom line (or top line, or left half, or wher- 
ever you like) and see what's happening. 
If something looks interesting, just swap 
in that process and enlarge its window to 
see more. (The line forms behind me.) 

CCP/M also has a PC/DOS mode so 
you can run PC/DOS programs (if you 
are an IBM compatible — more on that 
momentarily) and read disks with the 
PC/DOS format. 

This mode won't be included in the 
initial version of CCP/M for the Slicer, 
but they will be working on it. In the 
meantime they have another program- 
mer writing a BIOS so your can run 
straight MS/DOS on the Slicer (will be 
finished 'real soon now'). 

Hardware 

Meanwhile back on the ranch, Dean 
has been keeping himself busy design- 
ing the next product to be 'ahead of its 
time'. Dean has a habit of doing designs 
that use the newest, fastest, most high 
tech devices available (it's a dirty, dis- 
gusting job, but . . . ). He talked about 
several new designs at the SOG (and I'm 
sure he DIDN'T talk about several 
more). 

The one that everyone will be most 
anxious to hear about is the 'PC board' 
which, when hooked on the Slicer, will 
enable it to run quite a bit of PC/DOS 
software (although not all). This isn't 
quite the usual high tech. (it's really 
more like roller skates on a Corvette) but 



it will make the Slicer into the best devel- 
opment system going for new MS/DOS 
and PC/DOS software. 

The board will support IBM's memory 
mapped video which is the most fre- 
quent cause of PC incompatibility. 

I might add that it took a lot of judi- 
cious work to make a board that could 
slow the Slicer down enough to look 
anything like a PC. 

The new board will also have a PC bus 
so you can tack in some those PC boards 
that fill the back pages of BYTE. It will 
support most add-ons, such as modems, 
video boards, etc. but not additional 
memory. Of course, you can add memo- 
ry with the Slicer expansion board 
(which is much faster than any memory 
ever dreamed of for the PC). Again, no 
release date, but it is coming. 

Another Slicer add-on is an 8087 board 
for fast numeric processing. Big deal, 
just hang a socket on the Slicer and plug 
in an 8087. However, Intel forgot all 
about the 8087 when they designed the 
80186. The 8087 has to be on the same 
local bus as the main processor, but the 
timing of the 87 and the 186 are incom- 
patible. The 87 wants a clock with a 30% 
duty cycle and the 186 wants 50%. Also, 
the programmable chip select and wait 
state generation don't work correctly 
with the 8087 and the protocol for trans- 
ferring control from one chip to another 
is totally different. 

Intel has come up with a 82188 'glue 
chip' and they are finally sending out 
samples (Dean has one). Remember 
folks, you saw it here before it showed 
up in the New York Times. 

The combination of the 80186 and 8087 
will give the Slicer hardware floating 
point arithmetic that would make Char- 
lie cry (if it slowed down long enough for 
him to see it) . No date for availability yet. 

Rolling Your Own 

On during SOG III, 13 attendees had a 
chance to assemble and bring up a Slicer 
under the guidance of Dean and Earl. 
Since I had never before assembled one 
(I was fortunate enough to have one in 
the office that had already been assem- 
bled by the now legendary Dana Cotant) 
I decided that I should see just how easy 

(continued next page) 



Micro Cornucopia, Number 20, October 1984 



33 



THESLICER COLUMN (continued)- 



it was. 

I arrived a little late (about 9 AM) but 
was still able to get my board assembled 
and running with 256k, two 5 inch drives 
and a Winchester before noon. I ran into 
one problem with a RAM socket that had 
been soldered in with a bent pin (sockets 
were already in place) but Dean and 
company had that fixed in no time. 

The whole experience showed me that 
assembling a Slicer is a trivial task (much 
easier than assembling a Big Board). 
And, when you are finished, the system 
really screams. 

Drives 

Another Slicer bonus is that the sys- 
tem automatically recognizes what kind 
of drive you have hooked to it; you don't 
have to make any changes to the BIOS. 
That means that you can put 8 inch 
drives as A & B and 5 inch drives as C & 
D today and tomorrow hook them up the 
other way and it will still run, with no 
software changes. The only thing that 
needs to be set up is the size of the Win- 
chester, and that is done with the SETUP 
program in just a few seconds. All this 



means that you will very seldom ever 
have to reassemble the BIOS. 

86 User Disks 

The Slicer shelf has been getting little 
dusty lately, so we decided to do some- 
thing about it. This is official notice of 
three (that's right THREE!) new 86 user 
disks. Disk #4 is definitely not to be 
missed, especially if you have the Slicer 
expansion board. It contains a new BIOS 
that supports the on-board real time 
clock and programs to set the clock and 
use the time for time stamping listings 
etc. If you have CCP/M, the system time 
will automatically be set when you boot. 
Source code written in PLI is included so 
you can get an idea of how to access the 
clock. 

For those of you interested in trans- 
fering files between CP/M-86 and main- 
frame environments disk #4 also con- 
tains a disk management program for 
IBM 374X standard interchange disks. It 
provides full maintenance of disks in 
IBM 3741 or 3742 directory format. You 
can copy to or from IBM format as well as 
initializing new diskettes, listing the di- 




Dean Klein (far right) directs Slicer building session on Saturday morning. 



rectory, or listing files to the CRT. Mark 
Johnson, who sent in this program 
(along with most of the rest of the mate- 
rial on the disk) says that it is faster and 
better than a popular commercial ver- 
sion sold for $350. 

The final big plus on this disk is an 
8086 version of the RESOURCE disas- 
sembler. Those of you who have tried to 
debug someone else's program without 
the source know what a valuable tool 
this is. 

Disks 5 and 6 are a two disk set of FIG 
Forth. This is the FIG 83 standard and all 
of the new words are supported, includ- 
ing a very nice VIEW command which 
pulls the original source of the definition 
to the word you want from the disk and 
displays it to you with comments. The 
Forth screens are stored in a CP/M file so 
Forth and CP/M can reside on the same 
disk without stepping on each other's 
feet (I currently have it on my Winches- 
ter). It does not have floating point, but 
for most applications this isn't needed 
anyway. This is a very complete Forth, 
probably suitable for production work. 
Benchmarks will be FORTHcoming in 
future issues. 

Bug Note 

DU, the disk utility on disk 86-2 will 
tell you that all disk sectors are empty 
until you do an "M" command to map 
the disk. After that, it will work proper- 

iy- 

Plea for Software 

The folks at Slicer are considering put- 
ting up a Slicer bulletin board, but they 
need an RCP/M program first. So, please 
send us or them any bulletin board pro- 
grams you have for CP/M-86. It would 
also be nice to see some good smartmo- 
dem programs (and ANYTHING else 
you have). 

A Z80 to 8086 source code translator 
would be really great, too. I am currently 
working on a Z80 emulator program that 
will hopefully be completed shortly. It 
will support a full-blown 64k Z80 (not 
just 8080) system and allow BDOS and 
BIOS calls. 

The 8080 emulation is already running 
(with no BIOS calls). That, along with a 
screen oriented SWEEP-like file man- 
agement program called VFILER will be 
the core of disk #7. 1 am hoping it will be 



34 



Micro Cornucopia, Number 20, October 1984 



finished soon because VFILER alone is 
worth three times the price of the disk 
(not to mention the value of being able to 
run ALL of your CP/M-80 utilities on the 
Slicer during your conversion). Bear in 
mind that this is an unofficial synopsis of 
disk #7; it could all change by tomorrow 
morning. Also, don't get fooled into 
thinking that I am going to write ALL the 
software for ALL the user disks. This is 
just a carrot to get you going (remember, 
a free user disk for a neat CP/M 86 pro- 
gram). 

The Great Eight Debate 

While I'm on the subject, I was talking 
to Earl the other day, he mentioned that 
some people would prefer to see Slicer 
disks on 5" rather than 8". 

We have chosen 8" because single- 
density 8" is the only real standard and 
because 8" drives are only $100 each. 
However, we would consider also sup- 
porting one of the 5" formats if you folks 
want to pick one (perhaps IBM DSDD?). 
Send in your cards and letters. 

Hints 

Those of you who are familiar with 
ZCPR under CP/M-80 probably wish 
you had a new CCP for your 86 that 
would search user for CMD files not 
found in the current area. While talking 
to Earl, I mentioned this and he told me a 
way to do much the same thing with 
standard CP/M-86. All you have to do is 
put all your CMD files in user and use 
STAT to give them a SYS attribute. 

A>stat *.cmd sys(CR) 

Now you won't see the files when you 
do a DIR (they will display when you do 
a DIRS) but they will be available from 
every user area. This is documented in 
the CP/M-86 manuals, but who has time 
to read the documentation? Finding this 
out really made my day. It still won't 
search drive A (but I hear CCP/M will). 

If you are writing a program that 
needs to move the cursor around, you 
need to know what the terminal expects. 
This is simple on the BB and Kaypro be- 
cause they all emulate an ADM3 (more 
or less). 

On the Slicer, however, there is no 
way to know what type of terminal the 



user will have. Really up a creek (as we 
say in Montana) aren't you? Well you 
would be if it weren't for good old Earl. 

He saw the problem and added moni- 
tor calls to clear the screen and position 
the cursor. The user can configure these 
routines in SETUP and presto, your soft- 
ware can clear the screen or position the 
cursor simply by calling the monitor, no 
matter what kind of terminal he has. 

The following two lines of code will 
handle clearing the screen. 



you can clear the screen by merely giving 
the instruction: 



CLRSCN: MOV 
INT 



BL,24 
59 



;Clr Scrn Funct 
;Intrpt Monitor 



That's all there is to it. If you want to 
position the cursor, just load register DL 
with the vertical row to place the cursor 
on and register DH with the horizontal 
column and execute the following code: 



CURPOS: MOV 
INT 



BL.25 
59 



; Position Funct 
;Intrpt Monitor 



This is assuming that the upper left 
corner is (0,0). These two calls are very 
nice for programs that you know will on- 
ly be running on a Slicer, but could be 
running on ANY Slicer. Don't use them 
for anything going to another system 
though! Another catch is that these calls 
won't work under CCP/M. A way to get 
around this is to do a BDOS call to check 
the version number. Do the monitor call 
if it is not concurrent and send standard 
IBM-PC sequences if it is. 

There are several other monitor rou- 
tines that can be accessed in the same 
way. For a list look at the file ENTRY. A86 
that came on your Slicer distribution 
disk. Also take a peek at CODES1.A86 
for several handy macro definitions, 
such as ones to let you use the 186 specif- 
ic instructions (like hardware multiply 
and multiple bit shifts) If you 'IN- 
CLUDE' CODES1 into your program, 



MON 



CLRSCR 



Back in the Saddle 

Slicer things were fairly quiet for a 
while. Interest seemed to lull after every- 
one found out there was no software to 
run on it. (What good is a Porsche if the 
gas station is closed?) That is all chang- 
ing now; with the new user disks and 
CCP/M (and the PC board and the 8087 
and . . . ) it is getting more attractive ev- 
ery day. Let all the uninformed masses 
rush out and buy their PC's; you can sit 
comfortably at home running at twice 
the speed of Charlie and write that elu- 
sive mambo program that will make you 
rich (if not incredibly wealthy). 



EXPAND YOUR 

PRO-TEN7TAL 

• HARD DISK ADAPTOR 

Allows you to add megabytes of storage. 
Easy to install. Includes complete 
software and documentation. 

$95.00 single unit quantity. 

• CP/M 3.0 BIOS UPGRADE 

Allows installation of CP/M 3.0 giving 
you a faster more powerful system. 
$50.00 single unit quantity. 

• ALAN* NETWORK 

— local network for Kaypro "computers. 

OEM/DEALER INQUIRIES WELCOME 

Quantity Discount Available. 

Call to order or for information 




HUNTINGTON DATA SYSTEMS 



*ALAI\I is a trademark of Huntington Data Systems, Inc. 

Solutions that work. For you. 

307 SIXTH STREET 

HUNTINGTON BEACH, CA 92648 

(714) 960-7498 



Micro Cornucopia, Number 20, October 1984 



35 



Slicer Computer System 



^mmmmmmtm^^ 



L 



tfi$ 






............... ■, ^.| 






Custom configurations available upon request. 
Send in specifications for pricing. 



SLICER 



SLICER COMPUTERS INC. 
2543 Marshall Street N.E. 
Minneapolis, MN 55418 
(612) 788-9481 



Real 16-Bit Computer Board with 80186, 256K Bytes 
RAM - 64K Bytes EPROM, Two RS232C Ports and 
Floppy Controller for 8", 5 1 / 4 " and 3 1 / 2 ". 

System Includes: 

SLICER Computer 
H Board 

~ SLICER Enclosure 
Two 5%" Drives 
96 TPI D.S.D.D. 
800K Bytes/Drive 
6 MS Step Rate 
Terminal 
Power Supply 
CP/M 86* 

Expansion Capabilities 

Price: $3,495.00 

Price (w/o Terminal): $2,995.00 

Prices S.T.C. w/o N 

Mastercard, Visa, Check, Money Order 

or UPS COD orders accepted 

'CP/M is a trademark of Digital Research, Inc. 




Slicer Enclosure 




SPECIFICATIONS 

14 1 / 2 "Wx6"Hx 15"D 

Rigid construction of upper and 

lower chassis accommodates various 

computer configurations 



Custom-made enclosures available at additional 
cost - send in specifications for pricing 



SLICER COMPUTERS INC. 
qi I/~CO™ 2543 Marshall Street N.E. 
OLI^CIV Minneapolis, MN 55418 

(612) 788-9481 



SLICER 16-Bit Computer 


X 


X 


SLICER Expansion Board 


X 


X 


Future SLICER Boards 




X 


Power Supply 


X 


X X 


Two 5 1 /4" HH Floppies 


X 


X 


Hard Disk & Controller 




X 


Four DB 25 & Two 50 






pin prepunched connector 
holes (Standard) 






Enclosure Price 




. $125.00 


With power supply, 

line cord & switches 




. $245.00 


With two 5 1 /4" 96 TPI drives . . . 




. $795.00 



Plus UPS Shipping Charges 

Prices S.T.C. w/o N 

Mastercard, Visa, Check, Money Order 

or UPS C.O.D. orders accepted 



36 



Micro Cornucopia, Number 20, October 1984 



get REAL 1 6 BIT power 




A SINGLE BOARD COMPUTER FEATURING THE INTEL 801 86 

(see Byte magazine April '83) 



THE SUCER 



Full 8MHz 16-bit microprocessor having 
complete software compatibility with the 
8086 and 8088 

256K Bytes of RAM plus 64K** Bytes of 
EPROM memory capacity on board 

Floppy disk controller can run a 
combination of 8", 5-1/4", 3-1/2" drives 
simultaneously 

SASI port for hard disk controller 

Two full function RS232C serial ports 
with individually controlled baud rates 
from 50 to 38.4K baud 

8K of EPROM contains drivers for 
peripherals, commands for hardware 
checkout and software testing 



■ Source for monitor and bios included on disk 

■ Bios for CP/M 86* supports 8", 5%", 3 1 /*" 
drives, the Xebec 1410 and Western Digital 
WD 1002 SHD** controller for hard disks 

■ Board size 6" x 12" power requirements 
+5 @ 3A, +12V @ 60mA, -12V @ 50mA 

■ Complete documentation included. 

6 MHz 8 MHz 
Sold in various forms: 

Assembled and tested $1105 $1125 

Full Kit 925 945 

Easy Kit (hard to get parts) .... 480 500 
Bare Kit (board, Rom, Doc, and Disk) ... 150 

CP/M 86* available 85 

Regular U.P.S. shipping within continental U.S. 
is included. 



THE SUCER EXPANSION BOARD 



■ 256K bytes dynamic RAM using the 
TMS4500 DRAM controller 

■ 2 RS232C serial asynchronous ports using 
the Signetics SC2681 serial communications 
circuit with baud rates selectable from 38.4K 
baud to 50 baud 

■ 2 RS232C serial asynchronous ports using the 
Zilog 8530 SCC with header connectors 

for synchronous communications personality 
cards 

■ Real Time Clock with battery back-up using the 
CDP6818 RTC circuit, on-board or off-board 
battery 



SLICER 



♦ SLICER Enclosure $125 

w/Power Supply 245 

w/Power Supply and Two 96 TPI Drives . . 795 

♦ SLICER Computer System 2995 

w/Terminal 3495 



■ Parallel printer port for Centronics-type 
printers 

■ Same size as the SLICER, Power: 5V@ 1.5A, 
+12 @ 200 mA - 12V @ 100 mA 

Sold in various forms: 

Assembled and tested $800.00 

Full Kit 650.00 

Memory Board 450.00 

3 Port Board and Clock -. 225.00 

Bare Board and Doc 95.00 

Regular U.P.S. shipping within continental U.S. 

is included. Prices subject to change 

without notice 

Mastercard, Visa, Check, 

Money Order or C.O.D. 

orders accepted. Allow 

4 weeks for delivery. 






SLICER COMPUTERS INC. 2543 Marshall St. N.E. 
Minneapolis, MN 55418 (612) 788-9481 



h CP/M a trademark of 
Digital Research, Inc. 

f New items 



Micro Cornucopia, Number 20, October 1984 



37 



FORTHwords 



By Arne A. Henden 



7415 Leahy Road 

New Carrollton MD 20784 

301-552-1295 



I promised a column on forms genera- 
tion, and finally took the time to write 
the utility. I hope you like it, it certainly 
was fun to write! 

Vendor News 

I've been compiling a vendor matrix 
for the FORTH Vendor's Group. This 
matrix will replace the vendor list that 
used to appear in FORTH Dimensions. 
One of the side benefits is that I get ev- 
erybody's brochures and hints of what 
they have in the works. 

Laboratory Microsystems plans to 
bring out Pro 325/350 and Macintosh 
versions within the next few months. 
They continue to have a nice set of utili- 
ties available for their versions, but I'm 
not impressed by the documentation. 

IEV (who markets a very fast 8088 
FORTH) is bringing out a version for the 
Apple in December. 

MicroMotion (one of the oldest 
FORTH vendors) is branching out and 
supporting the IBM PC and Atari lines in 
the nenr future. 

Here at Unified Software we are bring- 
ing out Apple and Macintosh versions 
this Fall. We are also converting to 
FORTH-83 and will have a new manual 
set. 

(Editor's note: FORTH-83 is also available 
for the Sheer. Check out the latest CPIM86 
disks from Micro C.) 

The Macintosh is an interesting com- 
puter. We bought one primarily to gen- 
erate brochures and flowcharts and love 
it. 

Creative Solutions has done a good 
job with their MacFORTH, providing 
window, sound and graphics support. 
The windows really help in creating an 
on-line tutorial, as you can display text 
in one window and have the user try 
functions in another window. Others 
may complain about windows and 
mouse control, but used effectively as 
they are in the Macintosh environment 
they can be impressive. 

Forms Generation 

Remember the column describing 
how to create menus? Forms are similar 
to menus except that they do not provide 
multiple choices. Instead, the user is ex- 
pected to "fill in the blanks." Forms are 
most often used for data base entry pro- 



grams, such as in keeping track of cus- 
tomers in a doctor's office or filling or- 
ders. 

The basic concept of a form is the tem- 
plate. This is the recipe that describes the 
screen layout for your form. Usually a 
form consists of two basic elements: la- 
bels and fields. 

A label is an ASCII string that is placed 
at a specific location on the screen. They 
may be informative, such as a title for the 
form, or they may be interrogative, such 
as a question to be answered by the user. 

A field can be ASCII or numeric. Usu- 
ally preceded by a label, a field is the 
blank area to be filled in by the user. 

Creating a form requires some method 
of specifying the location of every field 
and label to appear on the screen. Filling 
the form entails not only text entry, but 
the ability to backspace, terminate entry 
for one field, move to adjacent fields, and 
to exit normally or abort data entry. Fi- 
nally, interpreting the form requires 
parsing each entered string according to 
its ASCII or numeric identity and placing 
the results into the data base. 

In this column, I will show you a sim- 
ple forms generator. Designed to permit 
data entry on a single screen, this gener- 
ator can be used as a starting point for 
your own forms design program. 



Creating The Form 

As shown in the accompanying list- 
ing, I've defined two words to handle 
the forms data types. LABEL creates a 
buffer that contains an ASCII label at a 
specified row (vertical) and column (hor- 
izontal) location. The ASCII string is ter- 
minated with a back slash so that you can 
include blanks in the string. FIELD cre- 
ates a buffer n characters long that is to 
be entered at a given row and column 
location. These buffers are named, and 
each is linked to its following label or 
field. You wouldn't have to name buff- 
ers, but doing so provides convenient 
debug facilities and also gives access to 
each field for data parsing. 

START-OF-FORM defines a named 
form. All LABELs and FIELDs entered 
after START-OF-FORM -is executed are 
placed in form name>. END-OF-FORM 
sets the final links in the current form so 
that the screen paint and data entry 



words have starting points. The first field 
and label have zero links to terminate 
searches. 

CUR-FORM is a pointer to the current 
form. It is set whenever name> or 
START-OF-FORM is executed. At the 
same time, LAST- FIELD and LAST-LA- 
BEL are set to zero. 

When the first field or label is defined, 
it sets its appropriate LAST- variable. 
When a subsequent field or label is en- 
tered, the LAST- variable is used to link 
to prior entries, then is replaced by the 
current address. This is a crude method 
to implement linking, necessary if the 
form is to be painted and filled. 

However, the linking is backwards, 
meaning that the most recently entered 
field or label will be displayed first. 
When creating your form, you will need 
to work from bottom up. All labels or 
fields should be entered in sequential or- 
der to prevent irregular cursor move- 
ment. 

This procedure of forms creation is 
simple and flexible. However, you must 
first sit down with pencil and paper and 
lay out your form. Then you can deter- 
mine row, column and length parame- 
ters for each element and edit the correct 
parameters into your disk blocks. 

Form lay out would be easier if the us- 
er could work free-form on the screen 
(followed by a parse by the program to 
locate all fields and labels and to auto- 
matically create entries). I leave this 
forms creation editor as an exercise for 
the reader! (And when you're done, 
please send it in!) 



Fainting the Form 

You've gone through the tribulation of 
creating your Template. Now you want 
to display the Template in preparation 
for operator entry. 

First, we need to define two terminal- 
specific words: you need to be able to 
clear the screen, and to be able to move 
the cursor to a specified row and column. 
The two words shown in the accom- 
panying screen are for the BBI or ADM- 
3. Similar words are easy to write for oth- 
er terminals. 

Next, we need to define a blanking 
character. Unless you fill fields when 
painting the screen, the user won't know 



38 



Micro Cornucopia, Number 20, October 1984 



FORTH Screens 



SCR # 3 

( UNIFORTH Forms Generation Package) 

1 ( Copyright 1984 Unified Software Systems. Use by) 

2 ( individuals hereby granted, as long as not for resale.) 

3 VARIABLE LOWLIM ( adr of low answer limit) 

4 VARIABLE UPLIM ( adr of high answer limit) 

5 VARIABLE CUR-FORM ( pointer to current form) 

6 VARIABLE CUR-FIELD ( pointer to current field). 

7 VARIABLE CUR-POS ( current cursor position) 

8 VARIABLE LAST-FIELD ( last field) 

9 VARIABLE LAST-LABEL ( last label) 

10 95 CONSTANT BLANKING-CHAR ( field blank char = underline) 

11 : GOTOCR ( col row ...goto r,c posn..wrt upper left) 

12 27 EMIT 61 EMIT MAX 23 MIN 32 + EMIT 

13 MAX 79 MIN 32 + EMIT ; 

14 : PAGE ( clear the screen) 26 EMIT ; 

15 — > 



SCR 

1 
2 
3 
4 
5 
6 
7 
8 
9 

10 
11 
12 
13 
14 
15 



PAINT-FIELDS & PAINT 081284AAH) 

PAINT-FIELDS ( adr — ..paint fields till link=0) 
DUP IF ( if 1st adr = 0, then leave early) 
BEGIN DUP >R NEW-FIELD ( move to new field) 
R6 2+ § DUP DO BLANKING-CHAR EMIT LOOP ( blankscreen) 
R6 8 + SWAP BLANKS ( blankfield) 
R> g DUP 0= UNTIL DROP THEN ; 

PAINT ( paint the current form) 
PAGE ( clear the screen) 

CUR-FORM e § PAINT-LABELS ( fill labels on screen) 
CUR-FORM § 2+ § DUP PAINT-FIELDS ( fill fields & blank) 
CUR-FIELD ! ; 

■> 



SCR # 

( 

1 : 
2 

3 

4 

5 

6 

7 

8 

9 : 
10 

11 : 
12 
13 

14 - 
15 



LABEL & END-0F-F0RM . 081284AAH) 

LABEL ( row col — ..Creates label buffers) 

CREATE ( create the header for the new word) 

HERE LAST-LABEL @ , LAST-LABEL ! ( link to prev labels) 

, , ( store row & column) 

94 WORD ( fetch following string, terminated w/backslash) 

DUP C§ 1+ DUP >R HERE SWAP CMOVE ( move to definition) 

R> ALLOT ( allot space in dictionary for string) 

D0ES> 6 + COUNT ; ( leaves stradr & cnt) 
END-0F-F0RM ( terminate current form) 

LAST-LABEL § CUR-FORM 8 I LAST-FIELD § CUR-FORM § 2+ ! ; 
RESET ( set last- and cur- variables from curform) 

CUR-FORM e DUP LAST-LABEL ! 2+ 6 DUP LAST-FIELD I 

CUR-FIELD ! ; 
•> 



SCR # 8 

( ASCII-CHARS 681284AAH) 

1 : ASCII-CHARS ( key — ..handle ascii input) 

2 DUP 127 = IF ( is it rubout?) 

3 DROP CUR-POS § LOWLIM § = IF ( left edge?) 

4 BELL 

5 ELSE CUR-POS § DUP 1- CUR-POS I 

6 BL SWAP C! 

7 BS BLANKING-CHAR EMIT BS ( 'rubout* last char) 
6 THEN 

9 ELSE 

10 CUR-POS § UPLIM g = IF ( right edge of field?) 

11 BELL DROP 

12 ELSE DUP CUR-POS § DUP 1+ CUR-POS I 

13 C! EMIT 

14 THEN THEN ; 

15 — > 



SCR 

1 
2 

3 
4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 



FIELD & START-0F-F0RM 081284AAH) 

FIELD ( row col #chars — .. define a field.) 
CREATE ( create the header for the new word) 
HERE LAST-FIELD § , LAST-FIELD ! ( link to prev fields) 
DUP >R , , , ( store maxsize, row & column) 
HERE R> ALLOT ( make room in diet for answer) 
D0ES> 2+ DUP § SWAP 6 + SWAP ; ( leaves field adr & size) 
START-0F-F0RM ( create a form) 
CREATE ( create the header for the new word) 
LAST-FIELD ! LAST-LABEL ! ( init links) 
0,0, ( the link fields for" a given form) 
D0ES> ( run-time execution) 

CUR-FORM ! RESET ; ( designate this form as current) 
-> 



SCR 

1 
2 
3 
4 
5 
6 
7 
8 
9 

10 
11 
12 
13 
14 
15 



# 9 



CTRL-CHARS & FILL-FORM 081284AAH) 

CTRL-CHARS ( key — ..check for control functions) 
CASE 

01 ( CTRL-A) =: ABORT ;; 

12 ( CTRL-L) =: ( move to previous field) 

LAST-FIELD § NEW-FIELD ;; 

13 ( CR ) =: ( move to next field) 

CUR-FIELD § DUP LAST-FIELD ! § ?DUP IF NEW-FIELD THEN 
18 ( CTRL-R) =: ( move to next field) 
CUR-FIELD § DUP LAST-FIELD ! § ?DUP IF NEW-FIELD THEN 
CASEND ; 
FILL-FORM ( now get user entry) 
BEGIN KEY DUP BL < IF CTRL-CHARS 
ELSE ASCII-CHARS THEN AGAIN ; 
DOIT PAINT RESET CUR-FIELD § NEW-FIELD FILL-FORM : 



;s 



SCR # 

( 

1 : 
2 

3 

4 

5 

6 : 

7 

8 

9 
10 

11 - 
12 
13 
14 
15 



PAINT-LABELS & NEW-FIELD 081284AAH) 

PAINT-LABELS ( stgadr — ..paint labels till link=0) 
DUP IF ( if 1st adr = 0, then leave early) 
BEGIN DUP >R 2+ § R§ 4+ § GOTOCR ( point to label) 
Re 6 + COUNT TYPE ( print the label) 
R> § DUP 0= UNTIL DROP THEN ; 

NEW-FIELD ( adr — ..move to new field) 
DUP CUR-FIELD ! ( set current field) 
DUP 4+ DUP § OVER 2+ @ GOTOCR ( move cursor) 
4+ DUP LOWLIM ! DUP CUR-POS ! ( set lowlimit, cursorpos) 
SWAP 2+ § + UPLIM ! ; (and upperlimit) 

> 



SCR 


# 


10 







( 


An 


example of a form) 


1 


START-0F-F0RM EPSON 


2 


6 


30 


LABEL T3LBL TAB3: 


3 


6 


36 


4 FIELD TAB3 


4 


6 


15 


LABEL T2LBL TAB2: 


5 


6 


21 


4 FIELD TAB2 


6 


6 


I 


LABEL T1LBL TAB1 : 


7 


6 


6 J 


4 FIELD TAB1 


8 


5 


30 


LABEL CHLBL CHAR-SIZE: 


9 


5 


40 


5 FIELD CHSZ 


10 


5 


I 


LABEL LSLBL LINE-SPACING 


11 


5 


15 


5 FIELD LSPACE 


12 


END-l 


DF-F0RM 


13 


;s 




14 








15 









(continued next page) 



Micro Cornucopia, Number 20, October 1984 



39 



FORTHWORDS (continued)* 



where the entry fields are located or their 
length. 

Many terminals permit reverse video, 
and for these I recommend using a re- 
verse video blank as the blanking charac- 
ter. Others, like the Big Board I, have no 
video attributes. The underline character 
is a good choice as the character stored in 
BLANKING-CHAR for primitive video 
terminals. 

PAINT is the form-painting word. It 
uses the current form, and after clearing 
the screen, displays all labels and fills all 
fields with the blanking character. Note 
that PAINT also has to perform one non- 
screen function: it fills every FIELD buff- 
er with blanks to remove any previous 
garbage. 

Filling the Form 

Now we come to the hard part, the us- 
er text entry. The text entry word, FILL- 
FORM (shown in the accompanying scr- 
een), is really not sufficient for anything 
more than to demonstrate the technique. 

Users are notoriously bad typists and- 
generally know little about computers. If 
your form is to be used in a commercial 
product, you must protect against every 
possible entry error. In addition, many 
systems require data validation, a sub- 
ject more complex than I care to discuss 
in this column. 

FILL-FORM is the main entry word. 
You will note that it is one BEGIN- 
AGAIN loop, terminated by a CTRL-A 
(stands for Abort). . 

Each key press is subjected to a variety 
of tests. Here I've used the CASE con- 
struct from UNIFORTH, but any other 
CASE statement can be used or even 
nested IF's if you wish. 

The first set of checks is for any control 
character. The ones I've implemented 
are in Figure 1. 

Figure 1 - Control Characters 

CTRL-R (move to next field) 
CTRL-L (move to previous field) 
CTRL-A (abort) 
<CR> (move to next field) 

If a control character isn't detected, 
then the program assumes that the 
pressed key was for data entry. Two spe- 
cial variables are set for the current field: 
LOWLIM is the starting buffer address 

40 



for the field, and UPLIM is the ending 
address. These delimiters prevent data 
entry outside of the current field. 

"Delete" or "Rubout" is used for back- 
space operations. If a delete is detected, 
the last entered character is replaced by 
the blanking character on the screen and 
by a blank in the buffer. CUR-POS 
(CURrent POSition) is decremented. 
However, if CUR-POS is already at 
LOWLIM, the backspace operation is ig- 
nored and a bell sounded. 

The other limit occurs when the user 
attempts to enter more characters than 
the width of the field. In this case, the 
character is ignored and a bell sounded. 
The only ways to move to the next field 
are with CTRL-R or with CR. You might 
want to implement "wraparound," 
where the program automatically moves 
to the next field when the current one is 
filled. 

Parsing the Form 

Well, all the data is entered but you've 
got to move it out of the form buffer into 
your database. Good luck! I leave this 
section for you to implement (what's the 
use of a lesson if you have no problems 
left?). 

Of course, ASCII strings are easy. You 
may wish to use -TRAILING to truncate 
entered strings and then store them as 
packed strings (character count byte pre- 
ceding the text), or just have a fixed 
length field and use CMOVE. 



Numeric data is a little more trouble. A 
simple solution is to move the string to 
HERE or HERE +2 (wherever WORD 
normally leaves its string), add a trailing 
blank and then use NUMBER to convert 
the string into a numeric quantity. 

Extensions 

This has been a brief introduction into 
Forms Generation, and, of course, the 
example can be extended! 

For example, only one page per form is 
implemented. By adding an extra pa- 
rameter to FIELD and LABEL you can 
specify the page to which they belong. 

Other cursor controls such as up and 
down could be implemented. The key- 
board cursor keys could be used instead 
of CTRL-L or CTRL-R. Redisplay for 
multiple forms entry should be one of 
your first improvements. Data validation 
can also be added. However, I think that 
you will find the use of forms a valuable 
addition to your FORTH system. 

Next Issue 

Several readers have inquired about 
cross-compilation and other turnkey ap- 
plications, so I plan to enlighten folks on 
the subject. Don't forget that the FIG Na- 
tional Convention is coming up near the 
end of October, and the FORML confer- 
ence shortly thereafter. Until next time, 
keep the FORTH! 



CP/M 2.2 LICENSE AND SUPPORT 

CP/M 2.2 License and disk for Scull-Tek Big Board $95.00 

Reconfiguration of above for BBI, Xerox 820 8" SSSD, or Xerox 820 5 1 /4" SSSD $10.00 

CP/M Manuals $20.00 

SWP dual density board $149.00 

SWP dual density board with CP/M $225.00 

XEROX 820 board (used, tested good) with CP/M $250.00 

Other CP/M configurations, Custom ROMs, and consultation on CP/M are available. 

CP/M Public Domain Software - We have CPMUG, RCPM and SIGM disks 
for $5.00 each on Wabash 8" SSSD. 10 disks with catalogs and abstracts on 
them for $50.00. Write for quote on entire collection. 

Wabash 8 inch SSSD diskettes 10 for $30.00 

Wabash 5 1 A inch SSSD diskettes 10 for $28.00 

Line Check Board for RS-232-C (Inserted into the line it will monitor the 
seven commonly used signals.) PC Board - $7.00; PC Board and parts kit - 
$21.00; Assembled and tested - $26.00. 
"^ Call or write tor catalog which describes the above and other items in more detail. 

Add $2 shipping to all orders. Illinois residents 
add 6% sales tax. Mastercard, Visa. CP/M is a 
trademark of Digital Research, Inc. 




KULCQX ■ ENTERPRISES 

P.O. BOX 395 • NAUVOO, ILLINOIS 62354 



(217)453-2345 



Micro Cornucopia, Number 20, October 1984 







CALENDAR/CLOCK 

$69. 00 KIT 

: ANNOUNCING 

APPLICATION USERS GROUP DISKS! 

USES NATIONAL MM58167 CLOCK CHIP, 
AS FEATURED IN MAY '82 BYTE. 
WORKS WITH ANY Z-80 BASED COMPU- 
TER WITH CLK <5.5 MHZ. 
PIGGYBACKS IN Z80 SOCKET 
INSTALLATION <5 MIN. 
KEEPS TIME FROM MONTHS TO 10,000 
THSOF A SECOND. 
BATTERY BACKUP KEEPS TIME W/ 
POWER OFF! 
i BATTERIES ARE AVAILABLE AT RADIO 
SHACK STORES. 

EASY TO USE SOFTWARE INCLUDED TO 
SET AND READ THE CLOCK IN BDS C, 
JRT PASCAL. TURBO PASCAL, AND 
MICROSOFT BASIC. 
ALL SOURCE CODE IS INCLUDED!! 
SOFTWARE IS AVAILABLE ON 8" SSSD, 
5" XEROX 820, KAYPRO 2. OSBORNE, 
NORTHSTAR, CROMEMCO, AND APPLE 
DISKS AND OVER A MODEM FOR OTHER 
COMPUTERS. 
PACKAGES AVAILABLE: 
FULLY ASSEMBLED AND TESTED $99 
COMPLETE KIT $69 

BARE BOARD AND SOFTWARE $29 

EXTENDER CABLE OPTION $14 

(FOR NON-PIGGYBACK INSTALLATION) 
USERS GROUP DISK $20 

(FREE WITH ACCEPTED ENTRY) 
SHIPPINGS HANDLING $3 

N.Y. STATE RESIDENTS ADD 7% SALES 
TAX. 

PERSONAL CHECKS. MONEY ORDERS, 
PURCHASE ORDERS, AND C.O.D.'S 
ACCEPTED. 






KENMORE COMPUTER TECHNOLOGIES 

20 Landers Road Kenmore. New York 1 42 1 7 

(716)877-0617 



ABLE II VT 
INTELLIGENT STAND ALONE 

VIDEO TERMINAL WITH 
MANY HIGH END FEATURES 




RT CLOCK 



VIDEO ATTRIBUTES 



ON-SCREEN SET-UP 



* Easy Emulation * A Very Powerful Low Cost Terminal Board * 
6502 CPU & 6845 Video Controller * 4K Control in 2732 EPROM 

* Emulate or Customize with powerful download feature * 
Custom programs and escape tables retained during power 
down * Defaults to control ROM tables (H1 9 Compatible) when 
not modified * Month to MSEC Real Time Clock; Display to Sec, 
Transmit to MSEC * Reliable battery interface for clock and 2K 
user RAM * Menu driven set-up * Powers up as previously 
configured * History, for communcations analysis, displays last 
256 video, escape and control char received * 2 Program/Menu 
selectable RS-232 compatible ports, with Daisy Chain * 16 
Program/Menu selectable baud rates (50 to 19,200) * TTL and 
RS-232 level baud clock outputs * 6 Program/Menu selectable 
bell tones * 9 Menu cursor selections (Box, underline, overline/ 
solid, blink fast or slow) * Menu selectable auto LF on CR 
and/or Auto CR on LF or neither * Local, full duplex, simplex 
operation * 80x50 video with 80x24 screen window * Up/Down 
scroll with non-destruct mode * Transmit screen from top to 
cursor * cursor home, forward, backward, up, down * Horz. tab * 
full X-Y cursor control including save, restore and report cursor 

* cursor on/off * clear screen, clear line, erase to end of screen, 
to beginning of screen, to end of line, to beginning of line * Char 
selectable, normal, inverse, blink and low intensity * 96 Upper 
and Lower case with descenders * 32 interconnecting line/block 
graphic set * type ahead buffer * 8 1 /2x11 silk screened, double 
sided, glass-epoxy PC board * only uses easy to get parts * 
requires parallel ASCII keyboard and standard composite video 
monitor * made in U.S.A. * 



Complete Kits Now Available — $224.95 — 

(I.C. Sockets are Included) 

Assembled and Tested Boards — $274.95— 

(Allow 6 weeks deliver for kits or A&T) 



Bare Board, Programmed Control 
& Char. Gen EPROMS, Complete 
Detailed Documentation Including 
Schematice and Source Listing. 

— $79.95 — 

Complete Documentation — $10 
(Refundable with purchase) 

Will Accept MC, VISA & CHOICE 



***CALL OR WRITE*** 

LINGER 
ENTERPRISES, INC. 

P.O. Box 5783 

Newport News, VA 23605 

804-244-3874 

Add $2.50 shipping & handling 
(VA residents add 4% tax) 



Micro Cornucopia, Number 20, October 1984 



41 



The Cost Efficient 
EPROM 
Programmer 

$995.00 

COMPLETE 

Dealer inquiries welcome. 




DISPLAY: 

• Bright 1 " high display system 

• Progress indicated during 
programming 

• Error messages 

KEYBOARD: 

• Full travel entry keys 

• Auto repeat 

• Illuminated function indicators 

INTERFACE: 

• RS-232C for data transfer 

• 110-19.2K baud 

• X-on X-off control of serial data 



FUNCTIONS: 

• Fast and standard programming 
algorithms 

• Single key commands 

• Search finds data strings up to 
256 bytes long 

• Electronic signatures for easy 
data error I.D. 

• "FF" skipping for max program- 
ming speed 

• User sets memory boundaries 

• 15 commands including move, 
edit, fill, search, etc. functions 

• Extended mode reads EPROM 
sets 



Showp in test mode. 

GENERAL: 

• Stand alone operation, external 
terminal not needed for full 
command set 
Total support 
28 pin sockets 
Faulty EPROMS indicated at 
socket 

Programs 1 to 128 K devices 
Built in diagnostics 
No calibration required 
No personality modules to buy 
Programs new CMOS EPROMS 
Printer interface option 
Complete with 128K buffer 



FEATURES INCLUDE: 



ALSO AVAILABLE FROM SCC: 

The Cost Efficient Erasing Units 

FIVE TIMES THE CAPACITY OF OTHER UNITS, FOR LESS THAN $200! 

Three Models Available: 

EU-156. ..over 150 chips 

$195.00 

EU-312...over 300 chips 

$359.95 

EU-1 050... over 1000 chips 
(EPROM or Micro Computer) 

CALL! 



• Unique wave design 

• Efficient bulb design 

• All-steel, heavy duty design 

• Quick erasure time 

• Efficient 

• Reliable 

• Safe 



• Affordable and economical 

• Portable, easy to use 

• EPROMS 

• Micro computer 

• Industrial design 

• Production environment ready 

• Timer included 



QUICK DELIVERY ON ALL PRODUCTS! 

FOR FURTHER INFORMATION ON SCCs 

COST EFFICIENT PROGRAMMERS AND ERASING UNITS CALL 

SOUTHERN COMPUTER CORPORATION 

3720 N. Stratford Rd., Atlanta, GA 30342, 404-231-5363 



42 



Micro Cornucopia, Number 20, October 1984 



"BMON" 

Software In-Clrcuit Emulator 

Links your CP/M computer with any 
Z80 based computer or controller that 
you may develop. All that is needed is 
BMON, 12K or rom space, and a hand- 
shakeable bi-directable I/O port (either 
RS232 or Parallel). 

Features: 

—Full program development debugger 
with Breakpoints, Snaps, Stops, & 
Waits. 

—Single Step program execution. 

— Download file from CP/M system to 
development Ram. 

—Upload Memory from development 
RAM to CP/M disk. 

— Two versions: Master BMON runs in 
your CP/M system, Slave BMON runs 
in your target system. 

Note: Requires Microsoft's M80 & L80 
assembler & linker to setup Slave 
BMON. 

8" SSSD Disk containing Master 
BMON, Slave BMON, CONSOL, 
BMONIO, CONSOLIO, and Users 
Manual $49.95 

Shipped Via prepaid UPS 
—No COD or P.O. Box- 
Check or Money Order to: 

Barnes Research & Development 

750 W. Ventura St. 

Altadena, CA 91101 

(818) 794-1244 

CP/M is a trademark of Digital Research Inc. 
M80 & L80 are trademarks of Microsoft Inc. 



FOR SALE 

SA800-2 DISK DRIVE SSDD 'AS IS 1 $59.00 

SA800-2 DISK DRIVE SSDD GUARANTEED 60 DAYS $89.00 

SA850 DISK DRIVE DSDD GUARANTEED 60 DAYS $199.00 



SWITCHING POWER SUPPLY 



+5VDC @ 8A 
-5VDC @ .5A 
+12VDC @ ,5A 
-12VDC @ .5A 
+24VDC @ 2 A 



+5VDC @ 20A 
-5VDC @ ,5A 
+12VDC @ 2.5A 
-12VDC @ .5A 
+24VDC @ 2A 

YOUR PICK 



+5VDC @ 20A 
-5VDC @ .5A 
+12VDC @ 2.5A 
-12VDC <§ .5A 



$60.00 



KEYBOARD BY MICROSWITCH 

113 HALL EFFECT KEYS 8 BIT ASCII OUTPUT 

WITH CASE AND COMPLETE DOCUMENTATION $40.00 



DYSAN DISKETTES 

8" SSSD Box 10 $34.00 
8" SSDD Box 10 $38.00 



8" DSDD Box 10 $45.00 
5V Price upon Reqest 



CASCADE ELECTRONICS 
FREE ROUTE 1 BOX 8 

SHIPPING RANDOLPH, MN 5 5 065 

507-645-7997 



FREE 
SHIPPING 



MN ADD 6% Sales Tax Credit Card ADD 5% COD ADD $2. 
LIMITED TO STOCK ON HAND EVENING CALLS PREFERED ' 



PARTS FOR SALE 

SA800 Head $10.00 

SA800 Stepper $10.00 

SA850 Head & Stepper 

$60.00 
SA850 Head & Stepper 

NEW $75.00 

Shugart AC Drive Motor 
230 Volt 50Hz $20.00 
115 Volt 60Hz $35.00 

SA850 Door Assy. $25.00 
SA850 Head Load Assy 

$20.00 

FREE SHIPPING ON ORDERS 
OVER $50.00 

CASCADE ELECTRONICS 
ROUTE 1 BOX 8 
RANDPLOH, MN 55065 
507-645-7997 

COD ADD $2.00 
Credit Card ADD 5% 
MN ADD 6% Sales Tax 
EVENING CALLS PREFERED 
LIMITED TO STOCK ON HAND 




HARDWARE SPOOLER and INTERFACE CONVERTER 



* 128 K PRINT BUFFER 

* CENTRONICS OR SERIAL 
INPUT/OUTPUT 

* MULTIPLE PROTOCOLS 

* 5% X V/2 INCH BOARD 

* + 5 Volts at .5 Amp 
± 12 Volts at .1 Amp 



The L-BAND SYSTEMS hardware spooler is a Z80 based unit that 
provides a 128 K byte print buffer and interface conversion between 
Centronics and serial. Input and output may be either parallel or serial at 
various baud rates and with several protocols. Multiple copy and single 
sheet feed are supported. 

BARE BOARD $ 29.95 

PROGRAMMED ROM (2732) 10.95 

DISK with program source 1 0.95 

MINI KIT board, rom, headers, crystals 59.95 

PARTIAL KIT all parts EXCEPT RAMS 109.95 

ASSEMBLED and TESTED BOARD (128 K) 259.95 

WALL MOUNT POWER SUPPLY 39.95 

California Orders Add 6.5% Sales Tax 
Shipped via UPS — Check or Money Orders to: 

L-BAND SYSTEMS 

1037 E. Lemon Ave. 
Monrovia, CA 91016 
(818) 357-0566 



Micro Cornucopia, Number 20, October 1984 



43 



C'ing Clearly 

By Tony Ozrelic 



Micro C Staff 



Living almost rent-free can be a bit of 
a mixed blessing. Sometimes the land- 
lord requires a "little" help in return, 
and in this case, his travel club needed a 
simple mailing list. Prompted by the 
gentle urgings of my wife (she runs the 
club for him), I decided to help out. 

A Little Simplicity Goes A Long Way 

I found an easy way to fulfill my chore 
by making the list-entry and printing 
formats compatible with the editor we 
already use for word processing and oth- 
er office chores. Then all I had to write 
was a program for sorting and printing 
the list. 

I called each line a record, with a tab 
separating each of the individual fields 
such as name, address, zip, etc. This 
made list entry simple for anybody fa- 
miliar with the editor. By changing the 
printing format with another text file, 
form letters or special labels could be 
done just by re-editing the format file. 

Making It Work 

So, what I wound up with was a pro- 
gram called sort, c which used two files as 
input: the mailing list proper, and the 
format file which controls the printing. 
The only special things about these two 
files are the first line in each: the mailing 
list has as its first line (or record) the 
names of each of the fields in each rec- 
ord, separated by a tab. The format file 
has as its first line the names of the fields 
by which the mailing list is to be sorted. 
For instance, the mailing list might look 
like Figure 1. 

After sort opens the list and format 
files, it reads the first line of the list and 
stores the field names separately for later 
reference. Then it reads the first line of 



Figure 1 - Sample Data Fields 



the format file to determine which fields 
to sort on and how to print the list. The 
format file might look like Figure 2. 

This file says that we are going to sort 
the list by zip code first, then state, and 
finally by the last name. Each record in 
the file will be printed with a blank line, 
first name followed by the last, the ad- 
dress, city, state, and zip code. Next 
comes another blank line and a line 
prompting the post office to send a 
change of address. The vertical bar tells 
sort to replace the field name following it 
with the contents of the record's field 
and the backslash tells sort to replace the 
digit string following it with the equiva- 
lent ASCII character; in this case, the 
"backslash 14" tells my printer to print in 
enhanced mode, highlighting the zip 
and address correction info. 

Anyway, after the names of all the 
fields are stored, we then look at the first 
line of the format file to get the names of 
the fields to be sorted. The indices of 
these fields are used to extract the con- 
tents of the fields and store them, along 
with the position of the record in the file, 
in RAM. Then the file is sorted and print- 
ed. 

Make Room 

Of course, there's always room for im- 
provement, and this program is no ex- 
ception. 

On the input side, the field definitions 
might be improved so that the user can 
define his own separators between 
fields; this would allow better use of the 
80 character rows on a video screen. 

On the output side, such things as 
centering, right or left justification, and 
more flexible record selection would be 
helpful. 



frstnm 


lstnme address 


city 


state 


zip 


phone 


Tony 


Ozrelic 6708 Melrose 


Los Angeles 


CA 


90038 


213/932-0817 


Bob 


Jones 123 Oak St. 


Kansas City 


KN 


12345 





Figure 2 - Sample Printout 

zip state last name 

I frstnm llstnme 

! address 

Icity I state \14izip 

\14 •• DO NOT FORWARD - ADDRESS CORRECTION REQUESTED •• 



As it stands, we print the entire file ev- 
ery time we run the program. It would be 
nice to specify certain records based on 
some sort of logical expression, such as, 
"give me all the phone numbers of peo- 
ple living within the zip codes 8000 to 
9000." It would be nice too if we had 
some way of handling very large files 
without breaking the program. 

In its ultimate form, sort.c should 
probably be broken into three software 
tools: the data entry editor, which ac- 
cepts as input the data file and a "screen 
specification" file that makes up a spiffy 
screen display for the user to enter data 
into, an indexer, which takes the data 
and a "sort and select" file to order and 
cull unwanted records, and a report gen- 
erator, which takes the index generated 
by the indexer and a "report generator" 
file to collect and print the data. Of 
course, you could roll the whole thing 
into one huge program too (give it some 
cute name like "cBASE-II") and sell it for 
$39.95! Just remember where you got the 
idea. 

One Giant Leap For Micro C 

When we (Becky, the kids, and I) visit- 
ed Micro C's 1983 SOG last year, we 
found ourselves liking Bend very much. 
When I found out that Eric had to leave 
this year, I offered to pick up the ball. 
(Co-editor's note: Yep, I decided to embark on 
a full-time teaching career at the local com- 
munity college so this will probably be my last 
issue. It's been fun and I'm gonna miss the 
madhouse here. We're very lucky to get Tony; 
he and Becky will more than fill my shoes.) 

I have had some fun doing this col- 
umn, but I have found the requests for 
source code from these columns are be- 
coming a bit much. In order to alleviate 
the problem, I am now offering the 
source as well as the .COM files for ALL 
the programs that have appeared in this 
column (or as many as I can find and will 
fit on the disk) on 8" SSSD or 5" Kaypro 
formats for twenty bucks. 

If there's room, I'll throw a few in that 
haven't appeared in the column. Just 
send me a check or money order and 
specify which size disk you want. Send 
your order to Tony Ozrelic, PO Box 5246, 
Bend OR, 97708. If you have any ques- 
tions or comments, please send them al- 
so to the above address. 



44 



Micro Cornucopia, Number 20, October 1984 



Sort Routine In C 



/• 



sort - sort mailing list and print names 



•/ 



Written by Tony Ozrelic and compiled with the Manx Aztec C compiler 

use sort like this: 

sort (records) (format) >lst: 

where (records) is the file to be sorted, one record to a line. 
The first record contains the names of each field within a record. 
For instance, a mailing list might have the following fields: 



firstname 



lastname 



address city state zip 



Fields are separated by a tab (see the FIELDSEP character), and may 
contain spaces, numbers, etc., anything but a tab character, 
the (format) file shows sort. c how to sort the (records) and 
print them. The first line of the file shows the fields to be 
sorted and the rest of the file shows how the records are to be 
printed. For instance, to print labels sorted by zip code and last 
name, we might use the following lines: 

zip lastname 

! firstname {lastname 

j address 

icity ,'state MHizip 

\1i» •• IF UNDELIVEBABLE, PLEASE DO NOT RETURN «• 

The first line says to sort by zip and last name. The second line 
says to pull the firstname and lastname fields out of the record and 
print them. Ditto with the address, city, state, and zip fields. 
The \14 says to send an ascii char with a decimal value of 14 to the 
printer; my printer interprets this a3 a command to print the rest of 
the line in emphasized text. The same holds tru for the sixth line, 
but no fields are selected. 

Printing is accomplished by using the >lst: command to redirect the 
output of sort to CP/M's 1st: device. If you want to see the records 
on the console, omit the >lst:. If you want the records put in 
another file, use >( filename) , where (filename) is the name of the 
file, e.g., >labels.dat 



#include 

tfdefine MAXLINE 
^define MAXFIELD 
#define MAXREC 

^define streq 
#define FIELDSEP 



"libc.h" 



132 /• max chars per record (line) •/ 

10 /• max fields per record •/ 

1000 /• max records we can sort */ 

Istrcmp /• def for string equality function •/ 

»\t' /• field separator for records •/ 



/• names of fields stored here •/ 
/* number of lines (records) read •/ 



char fnames[MAXFIELD][MAXLINE]; 

int nlines; 

/» 

the rec structure keeps a pointer to the sort field and the file 

position for each record 
V 
struct { 

char *field; 

long infile; 

} rec[MAXRECj; 

main(argc,argv) 
int argc; 
char •argv[]; 

{ 

char c,*sp; 

char s[MAXLINE],s1 [MAXLINE]; 

int sfield[MAXFIELD]; 

int i, j,done, # lp; 

FILE «sfile,»ffile; 

open the file to be sorted and the print format file 

if((sfile=fopen(argv[1], n r"))==NULL) cantopen(argv[1]); 
if((ffile=fopen(argv[2], n r B ))==NULL) cantopen(argv[2]); 



/• 
•/ 

/• 



(continued next page) 



256K 

RAMDISK 

KIT 

Now Only 

$5995 

■ dynaDlsk makes your spelling 
checker, assembler, or compiler 
programs run 35-300 percent 
faster. 

■ dynaDlsk is a 256k ram board 
that uses 5V at VfeA and plugs into 
BB1's parallel interface (J5). It 
comes with auto-patching soft- 
ware that makes it look like an 8" 
SS SD disk drive to CP/M. It uses 
4164 ram chips, regular TTL, and 
transfers data 8-10 times faster 
than a regular floppy. See Micro 
C #9 for a description and MC #11 
for a review of dynaDlsk. 

For *59 95 You Get: 

8W by 6 1 A" bare PC board 
Software on 8" SS SD floppy 

(SOURCE INCLUDED) 
Assembly & Operation Manual 

Bare Board Only: $ 39 95 

820 OWNERS 
820-11 OWNERS 

■ Your hardware will work with 
minor modifications. Software 
patches are included in the man- 
ual for 820-1 1 owners. See MC #1 7 
for info on adapting Dyna to the 
Xerox 820. 

ALL ORDERS: Please add $5.00 for 
postage and handling. All orders shipped 
first class. Satisfaction guaranteed. 
Please, no COD's, PO's, or plastic money. 
QUANTITY PURCHASES: Buy five of 
one item at one time and get one free! Buy 
ten, get two free, etc. 

Send check or money order to: 



P.O. Box 5246 
Bend, Oregon 

L.A. SoftWare 503/389-3452 



CA residents add sales tax 

CP/ M is a trademark of Digital Research 

Prices and specifications subject to change without notice 



Micro Cornucopia, Number 20, October 1984 



45 



FREE EPROM!* 

When you purchase our EP-1 
or EP-2 Eprom programmer for 
your Kapro II or IV. We feel that 
our programmer is the best in its 
price range. Introductory price 
for the EP-1 is just $99.95 plus 
$5.00 shipping and handling. 

Here are just some of the 
features of our programmers: 

• Easy to use menu driven soft- 
ware 

• Programs 25/271 6, 25/2732 
and 2764 Eproms 

• Once installed, programmers 
need not to be removed and 
do not interfere with Kaypro 
operation 

• Store and retrieve files on 
drive A or B 

• True Eprom burn verification 

• Includes program diskandfull 
documentation 

Please write or call for additional 

information including our new 

flyer and voice synthesizer! 

Write or call: 

Busch Computers 

447 Blohm Street 

West Haven, Ct. 06516 

Phone: (203) 933-9383 

*271 6 first 500 orders 
Conn, residents add 7'/2% Sales Tax 



nIC\ 



CHECK OUT THESE PRICES!! 



ACCESSORIES 
FOR YOUR COMPUTER 

DISK STORAGE BOX — Holds 50 
-5 1 /4" disks. Plastic with Smoke self- 
lock, see-thru cover. — $15.95 ppd. 

PRINTER STAND — Metal, putty 
color. 80col. printers — $18.95 ppd. 

FOR YOUR KAYPRO 

NEW ITEM!! — KEYBORDERS — 

Keep those important commands at 
your fingertips! KEYBORDERS are 
durable, plastic laminated overlays 
for your KAYPRO Keyboard. CP/M, 
BASIC, Perfect Writer, Calc, Filer 
available now. Coming soon — 
WordStar, dBase II — 

$4.95 each ppd. 

DEALER INQUIRIES INVITED 

Call or send for our Mini-Catalog of 
KAYPRO Programs. 

THE FINE PRINT — KAYPRO'" Kaypro Corp. 
CP/M T " Digital Research. Perfect Writer™ Per- 
fect Software, Inc. WordStar™ MicroPro Int'l. 
dBase II™ Ashton-Tate. PA Res. add 6% Tax. 
—We Ship within 3 days for Visa, M/C or 
Money Order. — Allow2 wks. for Pers. Checks. 

KOMPUTERWERK 

851 Parkview Blvd. 
Pittsburgh, PA 1521 5_ . 
(412) 782-0384 




C'/NG CLE A RL Y (continued) 



C Listing Continued 



•/ 

/« 
•/ 



/• 
•/ 



/• 
•/ 

/• 
»/ 

/• 
»/ 



/« 



read in the names of each field and store them 
these names are in the first record of the file 

fgets(s,MAXLINE, sfile); 

fprintf( stderr, "Fields: \n?s\n",s); 

for(i=0;i<MAXFIELD;i++) { 

strcpy(fnames[i],field(i,s)); 

if(fnames[i][0]=='\0') break; 

} 

now get the names of the fields to be sorted from the first line of 
the format file, store which fields to select in sfield[] 

fgets(s,MAXLINE,ffile); 

fprintf( stderr, "Sorted By:\njs\n",s) ; 

for(i=0;i<MAXFIELD;i++) { 

sfield[i]=whichf(field(i,s),fnames); 

if(sfield[i]==-1) break; 

} 

select and store the fields for sorting 



fputs( "Reading File\n",stderr); 

nlines=0; 

whileO) { 

rec[nlines].infile=ftell(sfile); /• save pointer to record */ 

if(fgets(s,MAXLINE,sfile)==NULL) break; 

putc( '. ' ,stderr); /• show user we're going */ 



•/ 



store sort string in memory and pointer in rec[]. field 



for(i=0,*s1='\0 , ;sfield[i]!=-1;i-M-) 

strcat(s1,field(sfield[i] f s)); 
if((sp=alloc(strlen(s1)+1))==NULL) { 

puts( n 0ut of string space"); 

exit(1); 

} 
strcpy(sp,s1 ); 
rec[ nlines ] . f ield=sp ; 
nlines-M-; 
} 
fprintf( stderr, "\n$d records in file\n", nlines); 

sort the records according to the fields stored 

f puts ( "\nSorting\n" , stderr ) ; 
shell (nlines); 

and print them according to the format file 

f puts ( " \nPrinting\n" , stderr ) ; 
ptext( nlines, sfile, f file); 

clean up and exit 

f close ( sfile); 
fclpse(ffile); 

} \ 



field - return pointer to nth field selected from string s 



•/ 



field(n,s) 
int n; 
char *s; 

{ 

static char f[MAXLINE],«fp; 

register int cf; 

cf=0;fp=f; 
while(«s!='\n») { 

if(cf==n) break; 

if(«s++==FIELDSEP) cf++; 

} 
while(«sl=FIELDSEP && «s!r»\n») »fp++=»s++; 
*fp='\0»; 
return f; 
} 



Micro Cornucopia, Number 20, October 1984 



C Listing Continued 



/« 



whlchf - return index # of matching field name, else return -1 */ 



whichf (a, names) 

char »s,names[MAXFIELD][MAXLINE]; 

{ 

register int i; 

if(*s=='\0') return -1; 
for(i=0;i<MAXFIELD;i++) { 

ifCnamesCiiss'VO') return -1; 

lf( lstrncmp(s, names[i],strlen(names[i]))) return i; 

} 
return -1 ; 
} 



/« 



ptext - output text lines from linbuf using format file 



•/ 



ptextC nlines, tfile, pf ile) 

int nlines; 

FILE «tfile,«pfile; 

{ 

char s[MAXLINE],s1[MAXLINE]; 

int i; 



{ 

static char *t1 ; 
static int gap,l,J; 
static long t2; 

for(gap*n/2;gap>0;gap/=2) { 
for(i=gap;l<n;i++) { 

for(J=i-gap;J>=0;J-rgap) { 

If(strcnp(rec[j].fleld,rec[j+gap].fleld)<=0) 

break; 
t1=rec[J]. field; 
rec[J].fleldrrec[J+gap]. field; 
rec[J+gap].field=t1 ; 
t2=rec[J].inflle; 
ree[j].inflle=reo[J+gap].infile; 
re c [ J+gap ] . inf 11 e= t2 ; 



} 



} 



/* cantopen - complain about file opening 

cantopen(s) 
char •s; 

{ 

prlntfC "Can't Open: Js\n",s); 

exlt(1); 

} 



•/ 



/• 



for(i=0;i<nlines;i++) { 

putc('. ',stderr); 

fseek( tfile, rec[i]. inf ile,0); 

fseek(pfile,(long) 0,0); 

f gets (3, MAXLINE, tfile); 

fgets(s1, MAXLINE, pf ile); 

while(fgets(s1 .MAXLINE, pfile)!=NULL) /• print record V 
prec(s,s1); 

} 
} 

prec - print record according to format in print file 



/* seek record */ 

/• rewind format file •/ 

/• get record */ 

/• skip 1st line of fmt file »/ 



•/ 



prec(ts,ps) 
char 'ts.'ps; 

{ 

int i; 



/• 
«/ 



scan thru print format string, looking for !'s and \'s. Print what 
you can from the format string 

while(«ps) { 
/• 

a ! means, "replace the name of the following field with the 
contents of the field in the record" 
•/ 
if(*ps==»|») { 

if ((i=whichf(ps+1,f names ))!=-1) { 
printf("*s",field(i,ts)); 
ps+=strlen(fnames[i])+1 ; 



} 

else putchar( # ps++) ; 
} 



/• else Just print the char */ 



/• 

a \ means, "take the following digit and convert into an ascli 

char and send it to the printer" 

•/ 

else ifC'psss'W) { 

if(isdigit(»(ps+1))) { 

putchar(atoi(++ps) ) ; 

while(isdigit(*ps)) ps++; /• skip digit strg •/ 
} 
else putchar(*ps++) ; 
} 
else putcharC^ps-M-) ; 
} 



shell - shell sort for character lines, stolen from K+R 



•/ 



shell (n) 
int n; 



NOW FOR XEROX 820 
BB & BBII 

LOW COST 
DISK CONTROLLER 

SAVE WEAR AND TEAR ON YOUR DISK DRIVES 
AND FLOPPIES WITH THE MODEL 3801 ALL 
SOLID STATE RELAY. SMALL ENOUGH TO FIT 
EASILY INSIDE YOUR DISK DRIVE, THE 3801 
CAN BE INSTALLED IN MINUTES. YOUR BIG 
BOARD WILL THEN TURN YOUR DRIVES ON AND 
OFF AUTOMATICALLY AS THEY ARE NEEDED. 



- FEATURES - 

SMALL SIZE - 1.75 X 1.40 X 

0.35 

FAST INSTALLATION - DIAGRAM 

INCLUDED 

ZERO CROSSING - ELIMINATES 

ALL SWITCHING NOISE 

TRIAC OUTPUT - NO MECHANICAL 

PARTS 

DVDT FILTER - INCLUDED 

LOW COST - ONLY $8.80 EACH 

1 YEAR WARRANTY 

30 DAY MONEY BACK GUARANTEE 



COMPANY OF CALIFORNIA 

1619 SOUTH MINNIE STREET 
SANTA ANA, CALIFORNIA 92707 

(714) 547-4316 



CALIF. RES. ADD 6% SALES TAX 
ADD $1.00 EA. POSTAGE & HANDLING 



PLEASE SPECIFY BBI, BBII OR XEROX 



Micro Cornucopia, Number 20, October 1984 



47 



Xerox 820 Column 



By Mitchell Mlinar 



1013 W 210th 
Torrance Ca 90502 



Nearly everyone who has upgraded 
their monitor ROM for the Xerox 820-1 
has also included a real-time clock in the 
software. However, if you have not done 
so, read further for more information. By 
the way, 820-11 has the real-time clock 
software built into ROM. 

The clock can be very useful as long as 
it is set properly. Even though clock set- 
ting routines exist for the 820-11 and are 
resident in my 820-1 SWP dual density 
upgrade, how often can you claim you 
set the time AND date before getting 
down to business? 

The Hardware 

This little package will cost you about 
$15 and an hour or so of your time. It 
uses your spare parallel ports so if you 
are already using these, tough luck. Next 
issue, I will describe a Z80 extension bus 
for the 820 which includes a real-time 
clock module among other things. 

If you feel squeemish about assembly, 
you could purchase one of the packages 
sold in Micro C. I counted four ads for 
clock/calendar boards in the last issue. If 
I have any preference, it is to those that 
include source code so that they can be 
integrated into your monitor or BIOS. 

See Figure 1 for the schematic. Special 
parts you will have to order include the 



MSM5832 clock/calendar chip, a 32,768 
Hz crystal, and a 40-pin IDS (Insulation 
Displacement Socket). I recommend 
purchasing the IDS with at least 6" of 
ribbon cable already attached; about $10 
should cover all of the above. The re- 
maining hardware (including the 3v lith- 
ium battery) can be found at any local 
place (even Radio Shack). 

Installation 

1. Assemble the components on a 1.5 
by 2 inch piece of vector board. I strongly 
recommend purchasing an 18-pin socket 
so you don't accidentally torch the timer 
chip with your soldering iron. 



Be EXTREMELY careful with the crys- 
tal, the leads are very tiny and easily 
ripped out (and too much heat will ruin 
it). The crystal should be the last compo- 
nent soldered to the board. Set the trim- 
mer capacitor (C3) to midrange. 

2. Add 12" of small-guage wire (#20- 
#26) for the +5V, ground, battery plus, 
battery minus, and direction select 
leads. 

3. Carefully pull apart the ribbon cable 
(connected to the 40-pin socket), sepa- 
rating the required leads from the un- 
needed ones. Tie the unused ones off to 
one side. Solder the wires from the sock- 
et to the clock circuit card leaving about 



Figure 2 - Board Location 



CLOCK/CALENDAR CARD 




Figure 7 - Real Time Clock Circuit 



(PA6) J8-I8O 
(PA 5) J8-I6 O 
(PA0) J8- 6 O 
(PAD J8-8 o 
(PA2) J8-I0O 
(PA3) J8-I2 

J8-4D> 
(A READY) 



(PAT) J8-20O 



35V 



+ 5V 



3V LITHIUM BATTERY 




O J8-I4(PA4) 



32768Hz 
CRYSTAL 



<C]J8-32(PB3) 
<GJ8-30(PB2) 
O J8-28(PB1) 

<3 

<Q J8-26(PB0) 



-O 0M-6 
PORT B 
LOWER DIRECTION 



4" of wire between the IDS and the card. 
AFTER you have checked your wiring, 
cut the unused wires as close as possible 
to the socket. Solder the battery leads to 
the battery as quickly as possible to mini- 
mize battery heating. 

4. Plug in the MSM5832 chip. Install 
the circuit with your IDS oriented prop- 
erly (Figure 2) and plug into J8. Solder 
the +5v line to the high side of R57, the 
side closest to Jll. Connect the direction 
lead to Jll-6. Ground can be obtained 
fromJH-13. 

5. Tape the battery to the power sup- 
ply cardboard protector. Roll up the cir- 
cuit card as much as possible into the 
IDC cable and tape it; make sure there 
are no exposed leads which could touch 
anything on the 820 mother board or 
case. (This may seem somewhat unpro- 
fessional, but is does the job without 



48 



Micro Cornucopia, Number 20, October 1984 



need for special mounting hardware. 
The circuit is so light, there is no prob- 
lem.) 
6. Setup Jll as shown in Figure 3. 

Figure 3 - J11 Jumper Table 



Jumper 

7-8 

9-10 

17-18 

5-6 



Comments 

Jumper 
Jumper 
Jumper 
Remove 



Once you have the circuit installed 
and the board running, you will proba- 
bly have to make some minor adjust- 
ments to the trimmer capacitor until the 
board keeps accurate time. 



Figure 4 - PIO Bit Assignments 



PIO bit 


MSM5832 Line 




Comments 


PAO 


A0 




Address line 


PA1 


A1 




Address line 1 


PA2 


A2 




Address line 2 


PA3 


A3 




Address line 3 


PA4 


HOLD 




Active high 


PA5 


READ 




Active high 


PA6 


WRITE 




Active high 


PA7 


(PIO-B direction) 


Set HIGH for read; 








set LOW for write 






(Leave HIGH when not in use) 


PBO 


DO 




Data bit 


PB1 


D1 




Data bit 1 


PB2 


D2 




Data bit 2 


PB3 


D3 




Data bit 3 



has shown this to be nearer 3/4 second. 

Figure 4 illustrates the PIO bit assign- 
ment for this circuit. 



2. Set the proper address lines in PAO - 
PA3. Set the proper data on lines PBO - 
PB3. 



The Software 

Describing the software which inte- 
grates the MSM5832 with the Xerox is 
difficult in this limited space, so I will just 
include the essentials. 

I have written SETCLK which reads 
and sets the clock/calendar chip. To ob- 
tain the SETCLK program (including 
source) and the MSM5832 data sheets, 
send me a letter along with your $10 
check (Micro C also has the SET- 
CLK. COM program available without 
source). 

For those who have SWP Dual Densi- 
ty, I will also include the new monitor 
and BIOS (with source) for a grand total 
of $20. New features include screen 
dump, IOBYTE, (with a Monitor resi- 
dent LIST spooler to disk for QP/M on- 
ly), QP/M compatibility, and 820-11 com- 
patible keyboard mode (7/8 bit) and 
video sequences (line/char insert/de- 
lete). 

If you have a single- density Xerox 820- 
I, the disk with SETCLK, BIOS, and new 
monitor source along with new monitor 
ROMs (and installation instructions) is 
available for $25 for 2.5 MHz machines 
(unmodified 820-1) or $30 for 4 MHz ma- 
chines. Write for more information. 

Accessing MSM5832 chip is not trivial 
since timing is important. The data sheet 
specifies that the HOLD line should be 
held high for a minimum of 150 uSec be- 
fore chip I/O can begin. 

The maximum length HOLD can be 
high before the 5832 loses time is sup- 
posed to be 1 second, but my experience 



Xerox Parallel Port 

Initializing the Xerox parallel port is 
easy. Set GPIO-A control port (09H) to 
0FH (output mode) followed by 07H to 
disable interrupts. Set GPIO-B (port 
0BH) to bit mode (2FH) followed by 
0FFH so all bits are inputs. 

During a chip read, nothing needs to 
be changed. However, during a chip 
write, GPIO-B should be set to bit mode 
(2FH) followed by 0F0H to specify the 
lower four bits as outputs. After the 
write, restore GPIO-B to input mode to 
be safe. Data for GPIO-A is at port 08H 
and at 0AH for GPIO-B. 

Clock Calendar Chip 

There are 13 registers inside the 
MSM5832 (see Figure 5). 
Reading the MSM5832 

1. Set the HOLD and PIO-B direction 
lines high. Wait 150 uSec. 

2. Set the proper address lines in PAO - 
PA3. 

3. Set the READ line high and input 
the data (port 0AH). Set the READ line 
low. 

4. Repeat 2 through 4 as many times as 
needed. I recommend reading the 13 
registers as a stream and processing 
them after step 5. 

5. Set the HOLD line low. 

Writing to the MSM5832 

1. Set the HOLD line high and the 
PIO-B direction bit low. Set GPIO-B 
lower four bits for output mode. Wait 150 
uSec. 



3. Set the WRITE line high. Wait 4 
uSec. Set the WRITE line low. 

4. Repeat 2 and 3 as many times as 
needed. Again, I recommend writing the 
data as a stream. 

5. Set the HOLD line low. Reset 
GPIO-B to read. Set the PIO-B direction 
bit high. 

Using the Clock 

Now that you have a real-time clock, 
what good is it? Plenty, with the right 

Figure 5 - Timer Chip Registers 



Addr. Data Name 



Range 



Comments 

Set to zero 
regardless 
of input 



See note 1 
0=Sun. 6=Sat 



See note 2 



Seconds low 0-9 

1 Seconds high 0-5 

2 Minutes low 0-9 

3 Minutes high 0-5 
H Hours low 0-9 

5 Hours high 0-1/0-2 

6 Day of week 0-6 

7 Day low 0-9 

8 Day high 0-3 

9 Month low 0-9 

10 Month high 0-1 

11 Year low 0-9 

12 Year high 0-9 



Note 1 : Set D3 to 1 for 24 hour mode, 
for 12 hour mode. In 12 
hour mode, set D2 to for AM, 
to 1 for PM. 

Note 2: Set D2 to 1 for 29 days in Feb. 
Internal register stays set 
until a new write without D2 
set or Feb. 29 is reached. It 
does not otherwise recognize 
leap years. 



(continued next page) 



Micro Cornucopia, Number 20, October 1984 



49 



XEROX* 



(continued from page 49) 



software. By the time you read this, a re- 
placement for CP/M called QP/M will be 
out of beta test (after 12 months of devel- 
opment). 

Among its many features are transpar- 
ent time/date stamping of files, an appli- 
cation that requires an accurate real-time 
clock. Other features include user file 
accessibility from all user areas, faster 
disk I/O, and true backup capability (It 
doesn't just set an archive bit, it actually 
records the date of the last backup). All 
this in the SAME size as the original CP/ 
M package! 

Cost has not been set but likely to be 
around $40 for Micro C subscribers. 

I have run out of room this time. Those 
of you who have written with questions, 
be patient. I will try to answer all of 
them. The most asked questions will be 
answered here to help everyone under- 
stand the Xerox computer a little better. 



Powerful Single Board Computer 
Includes CP/M Plus (3.0 banked) 




$599 

Assembled, Tested 

Includes CP/M 3.0 on disk 

with all manuals 



Model MSC-ICO 



All Features Fully Supported By CP/M Plus 

• Z80A, 4 MHZ, No wait states 

• 1 28Kb Banked RAM, 60Kb TPA 

• 80 x 24 line high speed video 

• Disk Controller (up to 4 drives) 
8"SS/SD,DS/DD(1.2Mb) 

5" SS/DD, DS/DD, QHD ( 1 .2Mb) 
Use 5" and 8" simultaneously 
Both 5" and 8" connectors built-in 

• Two programmable RS232C ports 

• Centronics printer port 

• 1 6 bit TTL I/O port 

• Parallel keyboard input port 

• Clock calendar with battery backup 

• Expansion bus for enhancements 

• Requires only +5V 1 .2A, + - 1 2V 0. 1 A 
MSC-ICO +5" QHD ( 1 .2 Mb) drive $975 



Manufactured by: 
Southern Pacific Limited, 1 -3-18 Santomi Bldg. 
Tsurumichuo, Tsurumi, Yokohama, JAPAN 230 
TEL: 045-50 1 -8842 TLX: 3822320 SPACIF J 

USA Distributor: 

ARTISOFT,lnc, 2450 East Speedway, Suite 4 
Tucson, Arizona 857 1 9, TEL: (602) 327-4305 



Run Out of Disk 

Space on Your Xerox 

820-1? 

How About 784K on a 
5W Drive? 

UPGRADE YOUR 820-1 TO DOUBLE DENSITY KAYPRO 
COMPATIBILITY, AND RUN 4 OR 5 MHZ WITH UP TO 4 
DISK DRIVES, 8" AND 5 1 / 4 " AT THE SAME TIME! 

X-8 ROM PACKAGE 

5 MHZ 2732 ROM; 5 1 /4" DISK WITH FORMAT PROGRAM, 
CUSTOM BIOS, AND INSTALLATION PROGRAMS; AND 
MANUAL 

- BANK SELECTED; CAN USE 63K OR 64K CP/M 

- USES PARALLEL KEYBOARD AND HARDWARE 
VIDEO SCROLL (FOR FAST SCREEN RESPONSE) 

- SERIAL AND CENTRONICS PRINTER DRIVERS 
-AUTO-BOOTS, READS, AND WRITES KAYPRO 

FORMAT 

KAYPRO II - 191 K ON SSDD, 40 TRACK, 5 1 A" 
KAYPRO 4 - 360K ON DSDD, 40 TRACK, 5Va" 
KAYPRO 8 - 784K ON DSDD, 80 TRACK, 5 1 /4" 

- 98% SOFTWARE COMPATIBLE WITH KAYPRO II 

X120 DOUBLE DENSITY CONTROLLER BOARD 

DESIGNED SPECIFICALLY FOR THE XEROX 820-1 
USING WD2791 OR WD2793 DISK CONTROLLER CHIP 
WITH BUILT-IN DATA SEPARATOR 

- CAN RUN 5 1 /4" AND 8" DRIVES AT THE SAME TIME 
WITH STANDARD 34 AND 50 PIN DRIVE 
CONNECTORS ON DAUGHTER BOARD 

- MAINTAINS SIGNALS TO EXISTING 820 BOARD 
CONNECTORS 

- DECODED DRIVE SELECT LINES FOR FOUR DRIVES 

- ENABLES PRECOMPENSATION SELECTION FOR 8" 
OR 5 1 / 4 " DRIVES 

- COMPOSITE VIDEO ADAPTOR ON BOARD 

PRICING 

- X-8 ROM PACKAGE . $ 49.95 

-X1 20 BARE BOARD WITH DOCUMENTATION . $ 26.00 

- X120 BOARD A&T WITH DOCUMENTATION . . . $140.00 
-X-8 ROM PACKAGE AND X120 BARE BOARD . $ 72.00 

- X-8 ROM PACKAGE AND X120 BOARD A&T . . . $180.00 

CUSTOM CABINETS 

- DESK TOP ENCLOSURE FOR TWO HORIZONTAL 
MOUNTED FULL HEIGHT (FOUR HALF HEIGHT) 
DRIVES, WITH SPACE FOR POWER SUPPLY AND 
820 BOARD (OR OTHER SIMILAR BOARD) 

- PORTABLE ENCLOSURE FOR DRIVES, KEYBOARD, 
POWER SUPPLY, MONITOR, AND BOARD 

INSTALLATION OF ROM AND BOARD REQUIRE A SMALL 
NUMBER OF MODIFICATIONS TO YOUR 820 BOARD. 
CONTROLLER BOARDS REQUIRE ADJUSTMENT AFTER 
ASSEMBLY. 

PRICES FOR CASH, CHECK, OR MONEY ORDER. ADD 3% 
FOR VISA/MASTERCARD, $3.00 PER ORDER SHIPPING 
AND HANDLING, $6.00 FOR COD. 



EMERFILD 
MICROHRFIE 



PQBOX6118 ALOHA, ORE. 97007 
(503) 642-1860 





50 



Micro Cornucopia, Number 20, October 1984 



SWP'S CO-POWER-88 makes Z80, CP/M 
microcomputers IBM-PC compatible! 

CO-POWER-88 is a 16-bit 8088 coprocessor for Z80 CP/M 
computers. Both versions of CO-POWER-88, 128k and 
256k RAM, include both MSDOS, and RAM drive soft- 
ware, complete with MSDOS, IBM-PC 
compatibility. 

Simple commands move system control 
between the Z80 and 8088 processor. CO- 
POWER-88's RAM can be used in CP/M as a 
RAM drive! Currently available for Kaypro, 
Bigboard, Zorba, Xerox 820-II, Actrix, 
Osborne, and ATR8000 computers. 



128k CO-POWER-88 w/MSDOS & RAM Drive $400.00 

256k CO-POWER-88 w/MSDOS & RAM Drive $500.00 

CP/M-86 $70.00 




ATR8000: SWP's $499.95 CP/M Computer 

SWP's ATR8000 is a 64k RAM,Z80A, 4 MHz computer that includes double density CP/M 2.2. 
The ATR-8000 runs up to four disk drives that are any mixture of size (5 1 /4" and 8" ), type 
(single-sided and double-sided), and density (single, double and quad). The ATR8000 has an 
RS-232 port for a modem or serial printer and includes software for both. There's also a 
parallel port with a parallel printer driver. The ATR8000 interfaces to an RS-232 terminal or to 
an ATARI home computer. Software includes a program that allows the ATR8000 to use CP/M 
disks from other computers. The ATR8000 can be upgraded to also run CP/M-86 and MSDOS 
by adding CO-POWER-88. 



BigbOard Dual Density We ' ve J ust released a new version! 



Hardware ^ 

• A daughter board that plugs into the 
1771 socket. With this board the system 
employs automatic density select. 

• Instructions tell how to run 5V»" drives. 
A 50-34 pin disk drive adapter board is 
included with 5 1 A" disk orders. 



Software V#061983 

• One 8" version includes the code to 
make a 60k double density CP/M for 
8" SS 2.5 MHz 8" DS 2.5 MHz 

8" SS 4 MHz 8" DS 4 MHz 

5V*" SS 2.5 MHz 

• Printer drivers are built-in, selectable in 
the IOBYTE. 

• Easy to change port parameters. 



• 8" SSDD disk storage is 674k; DS is 
twice as much! 5V*" is 183k. 

• Includes DDINIT for SD and DD initial- 
izing and DDSYSGEN for DD sysgening. 

• Special features have been added in- 
cluding a deluxe pause, screen print 
and clock. 

• Source code is available for $25 after 
you sign a disclosure agreement. 



For Orders: We accept MasterCard, Visa, Money Orders or 
checks. Shipping charges and applicable taxes will be added. 
Call or write for delivery time. Prices and specifications sub- 
ject to change without notice. 



Trademarks: CO-POWER-88, ATR8000, SWP, Inc.; Z80, Zilog; CP/M, CP/M-86, Digital Research, Inc.; IBM-PC, 
IBM; MSDOS, Microsoft; Kaypro, Kaypro Corp.; Zorba, Mod Comp., Inc.; Xerox, Xerox Corp.; Actrix, Actrix 
Corp.; Osborne, Osborne Computer. 




/UICROCO/HPUTER PRODUCTS, INC. 



2500 E Randol Mill Rd. - 125 
Arlington, Texas 76011 
817/469-1181 
817/861-0421 



Micro Cornucopia, Number 20, October 1984 



51 



SOG III 

By David Thompson 



Here is part of the report for all of you 
who didn't make it to the SOG (the rest 
will show up throughout this and future 
issues). 

We had a super turnout — fell into the 
river — filled the hatchery building — ate 
well — met some really super people — 
got very little sleep — and were very glad 
when Sunday rolled around so we could 
explore this beautiful place (in relative 
peace). 

For the record, about 250 people at- 
tended, up from just over 100 last year 
and 50 at SOG I. Let's see now, by the 
year 2000 the Olympics will look like 
small potatoes compared with the SOG. 

New Blood 

As for attracting new people to Bend 
(my secret motive, remember?) it looks 
like I may have succeeded beyond my 
wildest dreams. Several individuals and 
one good size company have either said 
they are definitely coming (and are pres- 
ently pouring over multiple-listing 
books) or are definitely interested in lo- 
cating here and are exploring ways to do 
it. 



Interestingly enough, it appears that 
the wives are often the prime motivation 
in the moving decision. There is some- 
thing about Bend with its open fields, 
horse ranches, forests, wilderness areas, 
and skiing that makes family raising a 
reasonable (if not genuinely fun) preoc- 
cupation. You could think of it as taking 
on a long-term application project in a 
really good systems environment. 

Our Good Offices 

Everyone had a chance to visit the Mi- 
cro C offices (a neat old house that we've 
turned into a very comfortable feeling 
headquarters). We had 3 employees last 
year, there were 10 this year so we've 
grown. 

Philippe Kahn who likes to talk to 
technical groups, was afraid that this 
would be another low-level user group 
meeting. However he had a good time at 
the SOG. (He was late for one meeting 
because he got so engrossed in his sight- 
seeing.) His afternoon talk on designing 
Turbo Pascal was very detailed and very 
interesting, especially when he began 
discussing the problems bringing up 




Hatchery Building - site of SOG III. Note class being held on front porch. 



Modula II and Ada. His evening keynote 
address was about their attempts to get 
venture capital (and decision to go on 
without it) and the incredible ruse they 
set up to get Byte to run their first ad 
without prepayment (if the ad hadn't 
been successful they couldn't have paid 
for it). There was a terrific ovation when 
he finished the tale. (See what you 
missed?) 

Ezra Shapiro did not make it, he 
called, confessing ill health on Thursday 
(the very worst kind). Too bad, Byte will 
just have to read about this event in Mi- 
cro C (and you can quote us). 

Financial Hard Times 

Some folks tried to get their compa- 
nies to reimburse their expenses but 
when they passed around our flyer with 
Semi-Official Get-together on it, their 
managers didn't feel the event was seri- 
ous enough. These poor souls suggested 
we change the name to Super Official 
Gathering (not to be confused with Su- 
perficial Gathering). Maybe next year 
we'll have two brochures — an official 
one (for expense accounts) and an unof- 
ficial one (for fun). 

Next Year 

Sandy will be putting together some 
non-computer family events next year, 
so that everyone will have organized ac- 
tivities throughout the SOG. (Though 
the word was, that by the last day, the 
wives were really getting into the 
swing.) 

In case you are thinking about next 
year, figure on scheduling your vacation 
for the last weekend in July. We'll be 
here, hope you will too. 

Special Thanks 

I don't usually list names in Micro C 
just to list names. Names usually mean 
nothing to anyone but the people with 
that name. However, these names be- 
long to people who are very special to me 
because they did yeoman duty at the 
SOG out of the goodness of their hearts 
and that means a lot. So there! 

The Micro C staff (for service well be- 
yond the call), my mother (hi mom), my 
dad, Sandy (great food including home- 
made deserts), Ron Anderson (a power- 
ful guy with all the connections — AC 



52 



Micro Cornucopia, Number 20, October 1984 




Philippe Kahn, SOG III keynote speaker, leads discussion on compiler design. 



wise), and all the SOG speakers and do- 
ers and helpers. 

Friday Forums 

9 am, Voice Synthesis and FORTH, 
Barry Cole. 

10 am, On Your Own (the continuing 
saga) Hampton Miller. 



11 am, Slicer News, Earl Hinrichs and 
Dean Klein. 

12 Noon, Bulletin Boards and More, 
Trevor Marshall. 

1 pm, Kamas (Text Organization Sys- 
tem), Adam Trent. 

2 pm, Micro C Technical Department 
Forum, Laine Stump and Dana Cotant. 



3 pm, New Designs, Jim Ferguson. 

4 pm, Ham Radio, Jim Skinner. 

Saturday Forums 

8 am, Slicer Construction (Begins). 
8 am, BBII Owners Meeting, Ron Sa- 
so. 

(continued on page 55) 




Dana Cotant and Laine Stump answering questions about upcoming Micro C 
articles and products. 



Hampton Miller leads "On Your Own" 
discussion. 



Micro Cornucopia, Number 20, October 1984 



53 



This is THE PASCAL COMPILER 
You've Been Hearing About 




"It's almost certainly better 

than IBM's Pascal for the PC. . . 

Recommended . ' ' 

Jerry Pournelle 

ftyif, May 1984 




VERSION 2.0 



"If you don't have CP/M [for 

your Apple], Turbo Pascal is 

reason enough to buy it." 

Gary Hara 

Softalk Apple, May 1984 



"If you have the slightest interest in Pascal . . . buy it." 

Bruce Webster, Softalh IBM, March, 1984 



And No 



n Better 



° Color, Sound and Graphics Support (IBM PC, XT, jr. or true compatibles) 

• Full Support of Operating System Facilities 

• No license fees. You can sell the programs you write with Turbo Pascal without extra cost. 

Yes. We still include Microcalc . . . the sample spreadsheet written with Turbo Pascal. You can study the 
source code to learn how a spreadsheet is written . . . it's right on the disk* And, if you're running Turbo 
Pascal with the 8087 option, you'll never have seen a spreadsheet calculate this fast before! 

*Except Commodore 64 CP/M. 

Order Your Copy of TURBO PASCAU VERSION 2.0 Today 

For VISA and MasterCard orders call toll free: 1-800-227-2400 x968 

In California: 1-800-772-2666x968 

(lines open 24 hrs, 7 days a week) Dealer &. Distributor Inquiries Welcome 408-438-8400 



Choose One (please add $5.00 for ship- 
ping and handling for U.S. orders. Shipped 
UPS) 

Turbo Pascal 2.0 $49.95 + $5.00 

Turbo Pascal with 8087 support 

$89.95 + $5.00 
Update ( 1.0 to 2.0) Must be accom- 
panied by the original master $29.95 
+ $5.00 

Update (1.0 to 8087) Must be 

accompanied by the original master 
$69.95 + $5.00 



Check 

VISA 

Card #: _ 
Exp. date: 



Money Order 

Master Card 



My system is: 8 bit 16 bit — 

Operating System: CP/M 80 

CP/M 86 MS DOS PC DOS 

Computer: 



»)) BORIAHD 

B INTERNATIONAL 

Borland International 
4113 Scotts Valley Drive 
Scotts Valley, California 95066 
TELEX: 172373 



Disk Format: : 

Please be sure model number & format are correct. 

Name: 



Address: 

City/State/Zip: 
Telephone: 



California residents add 6% sales tax. Outside U.S.A. add $1 5.00 (If 
outside of U.S.A. payment must be by bank draft payable in the U.S. 
and in U.S. dollars.) Sorry, no C.O.D. or Purchase Orders. 



SOG III (continued from page 53)' 



10 am, Kaypro Owners Meeting, 
Thomas Brundage. 

12 Noon, BBI Owners Meeting, Dan 
Long. 

1 pm, Computers and the IRS, Jack 
Rodenhi. 

2 pm, Xerox Owners Meeting, Brian 
Garrison. 

3 pm, How Turbo Pascal was De- 
signed (and much more), Philippe Kahn. 

5 pm, Color Graphics on the Kaypro, 
Don Thompson. 

7 pm, Making It without Venture Cap- 
ital, Philippe Kahn. 

8 pm, SOG Awards Presentation, 
David Thompson. 

Finally 

SOG III was definitely a superset of 
the earlier SOGs. This time we had more 
people, more speakers, more food, ta- 
bles of hardware bargains ($70 for a new 
390K drive?), special prices on Slicers 
and BBIIs (Bill Siegmund was demon- 



strating some very nice Winchester soft- 
ware), and, most importantly, genuine 
SOG III tee shirts. One kind fellow came 
up to me during the event and suggested 
that we charge for admission. He said it 
would be a bargain at $50 per person. 

Well, fear not, we're not planning to 
commercialize the SOG. There is so 
much information being passed around 
and so many neat projects being 
dreamed up that it was worth it just for 
the articles that will show up in Micro C. 
And besides, everyone in our office real- 
ly looks forward to it. 

We have received a number of letters 
from happy attendees saying they will 
be back next year. Only — next year they 
will be bringing their whole user group. 
One California group is thinking about 
leasing a commercial airliner for the trip. 

SOG IV could be very very interesting 
(see you the last week in July). 

■ ■ ■ 




View of Proxy Falls just above the 
pool where the water disappears 
into the ground. 




All-day rafters entering Class-4 rapids. 



SOG I Hers hiking the Proxy Falls 
Trail. 



Micro Cornucopia, Number 20, October 1984 



55 



Micro Cornucopia . 



KAYPRO USERS DISKS 

for KayPro II, 4 and 10 



H2 00 each 



KayPro Disk Kl 
Modem software 

This disk is absolutely priceless if you will be using a 
modem to communicate with bulletin boards, other 
micros or mainframes. 

MODEMPAT. COM: Menu selection of baud rate, 
bits/character, stop bits, & parity for serial port. 
MODEM7.COM: Very popular MODEM 7 con- 
figured for KayPro. 

MODEM7+.COM: This is MODEM7 & MODEM- 
PAT combined - you can communicate with anything! 
KMDM795.COM: Super-version of MODEM7 set 
up for KayPro. 

TTERM.MAC: Commented disassembly of the TERM 
program you get with your KayPro so you can 
configure it for any interface. 

SQ/USQ.COM: Programs to squeeze and unsqueeze 
files for faster transfer. 

KayPro Disk K2 
Utilities 

Really oodles of spiffy little (and big) programs to 
help you get full use of your KayPro. 
ZESOURCE.COM: A true Zilog format disassem- 
bler for 8080 and Z80 object(.COM) files. Now you 
can turn .COM files into . MAC files. 
UNERA.COM: Simply enter "UNERA" followed 
by the name of the file you just erased and presto, the 
erased file is back! A lifesaver. 
FINDBD54.COM: Checks an entire disk, reports 
bad sectors, and then creates a special file containing 
those sectors. You save a bundle on disks. 
CAT2: This a group of programs which create and 
maintain a single directory of all the programs you 
have on all your disks. Even keeps track of which 
programs are backed up and which aren't. 
UNSPOOL.COM: Use your KayPro II and print 
files at the same time. Doesn't slow down system 
response! 

DUMPX, DU-77, COMPARE, SUPERSUB, 
FORMFEED, DIR-DUMP, . . . and all have 
documentation on disk. 

KayPro Disk K3 

Games 

PACMAN.COM: Despite the KayPro's lack of 

graphics, this one looks and plays amazingly like the 

real thing! Keep it hidden. 

ZCHESS.COM: Chess with a 1-6 level look ahead. 
OTHELLO.COM: You learn it in minutes, master 
it in years. 

BIO.COM: Generates custom graphic biorhythm. 
MM.COM: Master Mind. 
WUMPUS.COM: Classic wumpus hunting. 

KayPro Disk K4 
Adventure 

This disk contains one 191K game, Adventure. 
ADV.COM: This is the latest, greatest, most cussed 
adventure ever devised by half-mortals. This is the 
550-point version so the cave is greatly expanded and 
the creatures are much smarter. 

KayPro Disk K5 
MX-80 Graphics 

A complete Epson MX-80 printer graphics package 
including example files. (Same as K19.) 

KayPro Disk K6 
Word Processing Utilities 

A powerful line oriented text editor that looks like 
Unix's EX, plus a scad of text utilities written in C 
which handles pretty printing, shortening a file, 
multiple space output, add tabs, remove trailing 
whitespace, and more. Also includes ROFF.COM a 
very neat text formatter. 

KayPro Disk K7 
Small C Version 2 Compiler 

This is a greatly extended version of Ron Cain's Small 
C compiler. Version 2 has more expressions and 
larger library, true subset of Unix C. Disk contains 
compiler, documentation, and library — everything 
you need. 

KayPro Disk K8 
Small C Version 2 Source 

This disk contains the source (written in Small C) of 
the Small C version 2 compiler. Get K8 if you want to 
try extending the compiler. (You must have K7.) 




The following are full disks of software assembled for 
the KayPro. Each program has a .DOC (documentation) 
file and many come with source. 



KayPro Disk K15 
Hard Disk Utilities 

This disk is for the KayPro 10 or any KayPro with a 
Winchester drive. With these routines you can not 
only backup files (with printed directories of the 
backup disks), you can also break up large files. The 
backed-up files are not encoded (as they are with 
KayPro's backup routine) so you can access them on 
any system. 

KayPro Disk K 16 
Pascal Compiler 

This is a real Pascal compiler. It supports only a subset 
of the language (no records, pointers, booleans, reals 
or complex) but it generates a real .COM file. 
Everything is on this disk: the compiler, its source, 
example programs and documentation. 

KayPro Disk K17 
Z80 Tools 

This is for those of you who are into Z80 assembly 

language. 

XLATE.COM: A very good 8080 to Z80 translation 

routine. 

DASM.COM: An easier to use version of ZZ- 

SOURCE (the Z80 disassembler). This full disk 

includes source and documentation for both routines. 

KayPro Disk K 18 
System Diagnostics 

Just as we finished editing the routines on this disk, we 
received a copy of KayPro's diagnostic disk. The 
memory test and drive exercise, routines on this disk 
are more powerful than KayPro's versions. (Plus, it's 
only $12!) Setup for KayPro II and 4. 

KayPro Disk K19 
Prowriter Graphics 

This is a complete Prowriter printer graphics package 
written by the same Micro C subscriber who wrote 
the MX-80 graphics package. Plot points, lines, 
circles, boxes, and more. Examples, documentation. 

Kaypro Disk K20 
Color Graphics Routines 
PACMAN.COM: This is a deluxe version of pacman 
for Microsphere's color graphics board. 
PIE.COM: Pie Chart generator. 
SKETCH.COM An easy way to sketch color graphic 
designs. You can even use a joystick with this software 
(see Micro C issue #18 for joystick interface). 

Kaypro Disk K21 
SBASIC Routines & Screen Dump 

SBAS1C: Finally a disk of SBASIC software. There 
are some good examples of structured programming 
on this disk (including one program written both 
ways so you can see the difference). 
SCREEN DUMP: This is a screen dump for all 
Kaypros new and old. You can buy a similar package 
elsewhere for $60. 

Kaypro Disk K22 
ZCPR (Again) 

This disk is filled with ZPCR files. You get ZPCR for 
the Kaypro II, Kaypro 4, and the Kaypro 10. This 
version is fixed so that you can pass control characters 
(such as cntl-P) to the system and you can choose to 
have it,recognize the semi-colon for drive select (as 
well as the colon). So you can enter "B;" or "B:" to 
select drive B. Super neat! 

ZPCR, for those of you who don't know, makes 
CP/M a lot friendlier. It searches drive A for any 
.COM file it doesn't find on the current drive, the 
TYPE command scrolls text 24 lines at a time, and a 
new LIST command outputs a file to the printer. 

Kaypro Disk K23 
Fast Terminal Software & New BYE 

This disk contains interrupt-driven terminal pro- 
grams for all Kaypros. If you are tired of being limited 
to 1 200 baud when you use your Kaypro as a terminal 
then take heart. With these programs, your Kaypro 
can outrun the big boys by receiving and sending up to 
19,200 baud without dropping a single character! 
Also, a new version of BYE that not only lets you run 
your Kaypro remotely, but also figures out whether 
you have a 63K or 64K system so it will run with any 
Kaypro using an external modem. 



KayPro Disk K9 
ZCPR 
ZCPR: The big news on this disk is the self-installing 
version ZCPR available only from Micro C. Once you 
have ZCPR in your CP/M, you'll never go back to 
straight CP/M! For instance, ZCPR searches drive A 
for any program not found on drive B, so, even an 
empty -disk in drive B appears to contain every 
program on A. It's great for text editors, compilers, 
etc. Works on KayPro II and 4. 
EX 14: a super replacement for SUBMIT. 
Plus many more: TREK, FIX, FIND, SNOOPY 
ALIENS and DIF2. 

KayPro Disk K10 
Assemblers 

We've received a lot of requests for a Z80 assembler. 
So Dana put in some long hours getting the Crowe 
Z80 assembler to run on the KayPro (and every other 
Z80 machine). 

CROWECPM: This is a first class Z80 assembler. 
We use this assembler daily (and we included its 
source). Takes standard Zilog mnemonics. 
LASM: This is a more powerful version of the ASM 
assembler you received with the KayPro. This will 
link multiple programs together at assembly time. 
PRINTPRN: This program makes it easy to print 
the listing files generated by the Crowe assembler. 

KayPro Disk Kll 
Library &. Checkbook Programs 
CHECKS: This has been a very popular group of 
programs. Categorizes checks so you can keep track 
which are tax deductible and which get charged to 
which projects. Includes source and excellent example 
check files. Very powerful. 

LIBR: This is a complete set of library routines 
which let you group files into a single file called a 
library. Then CP/M sees them as a single program, 
but with the library routines, you can list them out 
separately, run them separately, or divide them up 
again. Almost like a unix environment. 
DISPLAY, VL1ST, PGLST: Additional screen and 
print utilities. 

KayPro Disk K12 
FORTH 

Yep, this is FORTH, one of the most unique, most 

extendable languages known, and for a paltry $ 1 2.00. 

This disk contains not just one FORTH, but two, 

along with an editor, decompiler and 8080 assembler! 

The editor even uses the cursor control keys. 

FORTH: This is true fig-FORTH. 

KFORTH: A very nicely extended version of 

fig-FORTH. 

PLUS, all the rest of the FORTH goodies. (Forth 

Heaven!) 

KayPro Disk K13 
Source of fig-FORTH 

All this disk contains is the 40K ASM source of 
fig-FORTH with the hooks in place for the KayPro. 
This disk is for FORTH hackers who just can't leave 
anything alone. (Look, you probably have faults, 
too. ) The source of FORTH is here because there isn't 
room on K12. This is the only disk that isn't stuffed. 

KayPro Disk K 14 
Smartmodem Programs 

This is the disk for you if you have a Smartmodem 

compatible modem. 

SMODEMK: Smartmodem program set up for the 

KayPro (and source). 

XMODEM: Lets you remotely control your KayPro 

from a distant computer. 

KAYTERM: This is the information you need to 

run or write modem software on the KayPro. 



Something special for your 

Kaypro! 



Kaypro Disk K24 

MBASIC Games & Keyboard 

Translator 

We sifted through many, many games before coming 
up with these gems. All will work on any Kaypro and 
all come in MBASIC source. 

USOPEN shows you the fairway on the screen. You 
select the club and direction for each stroke. After 
you reach the green the display shifts to show details 
of the green and flag. For one to four players. 
DUCK is an offshoot of aliens (pardon the pun). 
Hunter tries to shoot down ducks while ducks try to 
bomb the hunter. (Much fairer than real life.). 
CASTLE is an adventure in which you select your 
attributes (strength, dexterity, and intelligence) and 
you get to purchase arms and protection. Great 
documentation and very interesting game. 
KSTROKES is a keyboard translator similar to 
Smartkey. Bill Forbes did an excellent job creating 
this program. You can create and save translation files 
on disk. The program even includes a table which 
generates WordStar commands from the Kaypro's 
keypad! You can define 8 keystrokes at up to 63 
characters each. 

Kaypro Disk K25 
Z80 Macro Assembler 

This is a real Z80 macro assembler! Syntax closely 
follows RMAC and MAC. Also includes pseudo-ops 
to support conditional assembly etc. No .phase or 
relocatable code. 

Kaypro Disk K26 
EPROM Programmer &. Character Editor 

This is the software for the Kaypro EPROM pro- 
grammer written up in Issue #18. This software and 
the programmer turn your Kaypro into a very power- 
ful development system. You can read ROMs, write 
ROMs, save data on disk and restore data from disk. 
Plus, you get a character editor which will help you 
design custom character ROMs for the non-graphic 
Kaypros! 

Kaypro Disk K27 
Typing Tutor 

A complete typing tutor for beginners and experts. 
Written in Australia, it comes complete with source. 
This was customized for Kaypro II , 4 and 1 by Barry 
ColeofWLAKUG. 

The documentation says you can learn to touch type 
in 8 hours (probably a little longer for mortals). 



,&* 



Kaypro Disk K28 
Modem 730 

One of the most versatile modem programs available. 
Files and overlays are included to assemble a usable 
version of MDM730 for a Kaypro II, 4, or 10 using an 
external modem. 



REMEMBER 

FREE USERS DISKS 

In exchange for submitted 

software or articles 



New Schematic Packages 



Finally, a complete schematic for your portable Kaypro, logically laid out on a single 
24" by 36" sheet, plus a very complete illustrated Theory of Operation that's keyed to 
the schematic. You'll get detail information on your processor board that's available 
nowhere else. , 

For instance, those of you with the 10 and new 84 systems get a thorough rundown on 
your video section complete with sample video control programs in assembly language 
and Pascal. Of course, all packages contain serial and parallel port details and 
programming examples as well as complete coverage of the processor, clock, I/O, and 
disk controller (information that is not even available in Kaypro's own Dealer Service 
Manual!). 

Kaypro Schematic Packages 

Kaypro II &. 4 (pre-84) $20.00 

Kaypro 10 (pre-84) $20.00 

Kaypro 84 series (11,4,10) $20.00 

All prices include Postage 

For more detailed ROM information see page 48. 



Pro-8 ROM Package 



The PRO-8 package from Micro Cornucopia upgrades your KayPro 4 to a KayPro 8 
with 784K bytes (96 directory entries) per Tandon 100-4 (or equivalent) quad-density 
drive. Plus, you can select your own cursor character (and change it at will). 

The package includes the new PRO-8 monitor ROM, a disk of formatters and copiers, 
and printed instructions. (We even tell you how to turn your KayPro II into a KayPro 4. ) 
All you add is one or two double-sided double-density (390K), or double-sided quad- 
density (784K) drives. You get over 1.5 Megabytes on a two-drive quad-density system! 

This new system can read, write, and format KayPro II and KayPro 4 disks as well as 
KayPro 8 disks. And it recognizes each disk type automatically! 

All this for only *49 95 ! 

Watch Micro Cornucopia for more KayPro compatibles. 
Call or write for information on the other KayPro II and 4 ROMS from Micro Cornucopia. 



Plus-4 Decoder Board 

With this nifty little plug-in board, your Pro-8 ROM can access up to four 5V4" drives. 
You just plug a four-drive 34-pin cable into this board and you can add up to two 
additional drives. 

Now you can run any mix of 191K, 390K, and 784K drives as drives A, B, C, and D. 
You can run your original drives as A and B then add 380K or 784K drives outboard as C 
and D. You can even run four half-wides inside your original Kaypro! 

The Plus-4 Decoder Board for only *39 95 
Watch for 4-84 and 10-84 compatible ROMs coming soon. 



Micro Cornucopia 



P.O. Box 223 

Bend, OR 97709 

503-382-8048 

9-5 Pacific Time 
Monday-Friday 



More Goodies 



CP/M 86 

8" CP/M-86 Disk $ 1 5.00 each 



DISK 86-1 — Disk Utilities 
D.CMD/A86, SD.CMD/A86, 

XDIR.CMD/A86: Three extended directory pro- 
grams. Each does it differently, so we included all 
three. 

FILE-EXT.CMD/A86: Disk status program with 
good display format. 

PAGE. CMD/A86: A text paging program. Dis- 
plays 24 lines at a time. 

PRINT.CMD/A86: File printing routine. Puts a 
header at the top of each page along with page number 
and file name. 

MUCHTEXT.CMD/A86: Counts words and 
lines in a text file. 

ERQ,CMD/A86: Selective file erase program. 
Displays all selected files and then asks you one at a 
time for a Y/N. 

INUSE.CMD/A86: Prints "In Use" on your 
terminal and asks for a password. It will not release 
the console until you enter the password. 
FINDBAD.CMD/A867. Finds and collects bad 
sectors on a disk. If there are no bad sectors, 
information on the disk is unaltered. 

Disk 86-2 — DU and Modem Programs 
DU-V75.CMD/A86/DOC: This is the popular 
disk utility from CP/M 80. It lets you read, write, and 
modify disk sectors. 

MODEM4.CMD/A86: This is a modem program 
set up for the Sheer. This program includes a built-in 
help file. 

MODEM7SL.CMD/A86/DOC: No modem disk 
would be complete without this standard. This is 
modem7 set up for the Slicer. It displays a menu when 
it is called. 

Disk 86-3 — Small C 
C86.CMD: This is the original Small C compiler 
which appeared in Dr Dobbs Journal in 1980. It runs 
under CPM-86 and generates 8086 source for the 
ASM86 assembler. 

C86. COM: This is the C86 compiler which runs 
under CPM-80. This 8080 program produces 8086 
assembly language. 

C86LIB.A86: This is the C86 I/O library. 
SMALLC86.DOC: Documentation on Small C. 
C1UU.C: Source of the C86 compiler. 



DISK 86-4 — IBM Mainframe Interchange/ 

RESOURCE 8086 
XBIOS.A86: A new BIOS that supports a real time 
clock. 

RES86.CMD: A disk management program for 
transfering files between CP/M-86 and IBM 374X 
mainframe environments. 

SDI86.CMD: An 8086 version of the RESOURCE 
disassembler. 

DISK 86-5&6 — FIG Forth 

Disks 5 and 6 are a complete two disk set of FIG 
Forth 83. 

F83.CMD: The standard Fig Forth 83. 
META86.CMD: The Forth compiler. 

OTHER GOODIES 

Screen Editor in Small C $39.00 

A simple but full-function screen text editor plus a 
text formatter, all written in Small C by Edward 
Ream. This package includes the editor and formatter 
.COM files setup for the Big Board, Small C itself, 
and source code for all. With the documentation this 
is over 400K on a flippy disk. Edward is selling this 
package for $50, you can buy it from us for $39 (and 
Ed gets a royalty). Where else can you get an editor, a 
formatter, a C compiler, and source for all, for under 
$40? 

More ROMS: Fast monitor ROMs for speed freaks 
and our famous 'better than Texas' character ROM 
(V2.3) for screen freaks. 

Fast Monitor ROM BB1 $29.95 

Deluxe Character ROM BB1 $29.95 



BB II DRIVE INTERFACE 

For 514" and 8" Drives 
Andy Bakkers is making this special software package 
available through Micro C. Complete source, HEX, 
& documentation files on an 8" SS SD disk. Also 
outlines on disk the hardware changes needed. 

$29.95 




ROMs from Micro Cornucopia 



There are two ROMs in each Kaypro, a monitor ROM and a character ROM. 
The Monitor ROM supplies information for the Z80 processor on such 
things as how to get information from the disk drives, and which character to 
use as a cursor. The character ROM works entirely in the video circuit and it 
determines what the characters look like on the screen (for instance, does the 
"f" have a high, small cross bar, or a lower, longer one of the Micro C 
character ROM). When you speed up your Kaypro, you are speeding up the 
processor clock so you have to use a monitor ROM that will also run at the higher speed. You are not 
changing the video clock when you speed up the Kaypro so you don't need to change the character ROM 
(unless you want the nicer looking character set). Since the monitor ROM tells the processor how to do disk 
accesses you are going to have to change that ROM in order to upgrade to larger drives. 

Pro-Monitor II for Kaypro II 

1. This ROM is a fast part so you can run 4 or 5 MHz with your Kaypro II. 

2. It gives you a non-blinking block cursor (much less irritating), though you can specify a standard blinking 
underline if you prefer it. 

3. It does faster disk accesses (even if you don't speed up your system). 

4. It throws away null characters (those little asterisks that sometimes garbage the screen during data 
communications). 

5. Includes complete printed instructions for simple plug-in installation (takes 5 minutes). 

Pro-Monitor 4 for Kaypro 4 

This ROM does everything the Pro-Monitor II does, only it's for a Kaypro 4. Though the ROM that comes in 
your Kaypro 4 will run 4 or 5 MHz (unlike the ROM that comes in the II), this ROM also gives you: 

1. Non-blinking block cursor. 3. Throws away null characters. 

2. Faster disk accesses. 4. Complete printed instructions simple plug-in installation (takes 5 min). 

Pro-Monitor 8 package for Kaypro 4 

This ROM package does everything the Pro-Monitor II and 4 do (it will run at 5 MHz, ignores nulls, has the 
fast disk accesses). In fact, even if you will be using your original 191K or 390K drives for now, you can use 
this ROM package. The Pro-Monitor 8 features include: 

1. You get 784K per disk with quad density (96 tpi, double sided) Tandon 100-4 (or equivalent) drives. 

2. You can use any combination of Tandon 100-1 (Kaypro II), 100-2 (Kaypro 4), or 100-4 drives as drives 
A and B. 

3. You can boot from any disk with normal system tracks (Kaypro II, Kaypro 4, or Kaypro 8). The disk 
needs no modification. 

4. You can choose any character (including space) as a cursor and you can choose to make the character 
blink or not blink. Plus, you can change the cursor at will. 

5. You get a disk which contains a new copy routine for copying and formatting 784K disks, and a drive 
diagnostic routine for checking out the quad density drives. 

6. You get complete printed instructions for installation of ROM and drives (takes 10 to 15 minutes, 
including drives). 

7. The installation requires no cuts or jumpers, everything simply plugs into a Kaypro 4. (If you have a 
Kaypro II, see the modification article in Micro C issue 15 to turn your II into a 4.) 

Pro-Character ROM (for Kaypro II and 4) 

The character ROM gives you a nicer looking character set. Kaypros have come with two different character 
ROMs, the early character ROMs had a rotten g, y, q, f, and t as well as commas and semi-colons that -were 
hard to tell from periods and colons. On the newer systems (manufactured since Sept 83) half of the 
characters (notably the g) have been improved, but they haven't gone all the way. 

Also, many of the older character ROMs were poor quality parts so they generated snow as information 
scrolled up the screen. This white flecky snow disappears when you install a Pro-Character ROM. 

The character ROM comes in two flavors: 

1. The standard Greek Pro-Character has the nicer character set plus the standard Kaypro Greek characters. 

2. The Clean Pro-Character has the nicer character set but no Greek characters. This is the ROM for people 
who get strange Greek characters on the screen when interfacing with Mainframe systems. 

3. Complete printed instructions for simple plug-in installation (takes 5 minutes). 

Note: These ROMs will not work in the Kaypro 10 or the latest Kaypro 4 with graphics (it contains the 
Kaypro 10 board). We are working on new ROMs for these systems. 

Prices: 

Pro-Monitor II 29.95 

Pro-Monitor 4 29.95 

Pro-Monitor 8 (package) 49.95 

Pro-Character (either Greek or Clean) 29.95 

Pro-Set II (Pro-Monitor II 6k Pro-Character) 55.00 

Pro-Set 4 (Pro-Monitor 4 & Pro-Character) 55.00 

Pro-Set 8 (Pro-Monitor 8 package & Pro-Character) 70.00 



Micro Cornucopia 



52 HI 



P.O. Box 223 

Bend, OR 97709 

503-382-8048 

9-5 Pacific Time 
Monday-Friday 



REMEMBER 

FREE Users Disks in exchange 
for submitted software or articles 



58 



From 



Micro Cornucopia 

D T Dt» TT 1 VCDOV Q-l/"> T ICCI) o mpvc ■ 



BB I, BB II, and XEROX 820 USERS DISKS 

The following are full 8* disks of software. Each program has a .DOC 
(documentation) file and many come with source. 



8" Users Disks 



$15.00 each 



USERS DISK #1 
1-Two fast disk copiers 4-Two disk formatters 

2-The manual for Small C+ 5-Modem 7 
3-Crowe Z80 Assembler 6-Othello 
7-Serial print routine-Port B 

USERS DISK #2 
1-Two single disk drive copy programs, both with 

source 
2-Crowe Z80 Assembler source 
3-New Crowe.COM file, debugged version 
4-New CBIOS with parallel print driver 6k. other 

extensions for CP/M 1.4 6k. 2.2 
5-Disk mapper with source 

USERS DISK #3 
1-EPROM burning software for BB 1 
2-Reset bit 7 (un WordStar a file) 
3-Disk file CRC checker 
4-New fast copy program 6k. source 
5-DU77, disk inspector/editor 
6-FINDBAD, isolates bad disk sectors 
7-Print fancy page headings 

USERS DISK #4 
1 -CBIOS, custom bios for Tandon drives 
2-ZCPR, dynamite CCP checks drive A for missing 

.COM files; improved commands 
3-ZCPRBLOC, identifies CCP location 

USERS DISK #5 
1-CAT, disk cataloging routines 
2-Modem 7 for Port A 
3-Modem 7 for Port B 
4-PACMAN, the arcade game 
5-FAST, buffers the disk to speed up assemblies 
6-NOLOCK, removes BB 1 shift lock 
7- VERIFY, cleanup 6k. verify a flaky disk 
8-DUMPX, enhanced for BB 1 
9-UNLOAD, create .HEX file from .COM file 

USERS DISK #6 

1-REZ, 8080/Z80 disassembler, TDL mnemonics 

2-PRINTPRN, prints Crowe listings 

3-RUNPAC, run-time utility package for 8080 assem- 
bly language programs. Has 5 1 functions. Includes 
source which assembles under ASM. 

USERS DISK #7 
1-CHNGPFM, PFM monitor mods 
2-TERM, terminal routines let you set up BB as 

simple terminal, as a file receiver, or as a file sender 
3-Checkbook balancing package 
4-Disk Utilities - copy to memory, from memory, 

and dump. 

USERS DISK #8 
1-BDSCIO, custom BDSC I/O for BB 1 (both .h 

and .c) 
2-YAM, Yet Another Modem program in source 6*. 

.COM form. Turns BB into paging intelligent 

terminal, complete with printer interface, baud 

rates to 9600. 
3-ROFF, text formatter 
4-SIGNS, prints large block letters 

USERS DISK #9 
1-ADVENTURE, expanded 550 pt version 
2-Keyboard translation program 
3-CBIOS, serial 6k. parallel printer interface 
4-EPROM programming package for BB II, for 2732s 
only 

USERS DISK #10 - Lot. of Di.k Utilities 

1-REBOOT, sets up the CP/M auto load 
2-SWEEP, directory /file transer routine 
3-A, Lets BB I recognize a double sided drive as one 

drive with 494K of usable space 
4-FIX, super disk utility, does everything, much 

easier to use than DU77 
5-Compare files routine 
6-UNERA, retrieve erased files 
7-FIND, check all drives on system for a file 
8-MENU, menu program for CP/M 
9-NEWCAT, enhanced disk catalog program 
10-Single drive copy program that does track by track 
copies rather than file by file 

. USERS DISK #11- Printer Utilities 

1-Microline 92 printer routine 

2-Graphics display package for MX-80 with Craftrax, 

very fancy 
3-Epson MX80 setup for BB 1 with 59.5K CP/M 
4-Epson MX8 setup for any CP/M, lets you set print 

modes. 
5-Micro Tek print driver, Ports A 6k. B 



USERS DISK #12 - Games for BB I 

1 -ALIENS, a fast, exciting arcade game 
2-ZCHESS, chess with a 1-6 level look ahead 
3-MASTERMIND, match wits with the computer 
4-BIO, Biorhythm charts complete with graphics on 

the BB I 
5-LIFE, so fast it's real animation! 
6-CRAPS, see how much you'd lose in Vegas 
7-WUMPUS, a caver's delight, kill the Wumpus or 

be killed 
8-PRESSUP, similar to Othello 
9-Games, 7 games in one program, includes blackjack, 

maze and animal 

USERS DISK #13 - General Utilities, BB 1 

1-ZZSOURCE, disassembles to real Zilog mnemonics 
2-EX14, superset of submit or supersub 
3-MOVPATCH, lets you use MOVECPM on other 

copies of CP/M 
4-XMON, 3K expanded BB I monitor, use in ROM 

or as overlay . 
5-CURSOR, prompts you for cursor char you want 
6-UMPIRE, very fancy RAM test 
7-ZSIDFIX, display improvement for ZSID 
8-PIPPAT, modify PIP so you can reset system from 

within PIP 
9-@, Lets you use the BB as a calculator, including 

HEX 
10-SORT, sort package written in C80. 

USERS DISK #14 - BB II Software 

1-PR032, latest 2732 reader 6k. programmer 
2-SMODEM2, lets BB II talk to Hayes Smartmodem 
3-GRAFDEMO, demonstrates BB II graphics (in 

BASIC) 
4-ATTRTEST, demonstrates BB II graphics (in JRT 

Pascal) 
5-INITSIO, initializes port B for 300 or 1200 baud 
6-MENU, displays menu of.COM files, enter number 

to run file 
7-SETCLK, sets realtime clock built into BB II 
8-PRINT2, modified print which accesses BB II clock 
9-BOX, draws a thin line box on screen determined 

by HL and BC 
10- ALIENS, space invaders arcade game 
11-LISTSET, printer interface, auto-enables RTS, 
ignores DCD. 

USERS DISK #15 • Word Processing 
1-EDIT, very fancy line editor similar to EX (Unix). 

Includes help menu, programmable key, and full 

manual on disk. 
2-TED, simple minded line editor, easy to learn 6k 

use. Very fast. 
3-TTYPE, typing training program written in BASIC 
4-TINYPLAN, very simple-minded spreadsheet. 

Whets your appetite for a fancy one. 
5-C80 Text Utilities 
6-CHOP, cuts off file after N bytes 
7-ENTAB, replace spaces with tabs where possible 
8-MS, double or triple spaces a file to output 
9-RTW, removes trailing spaces from file 
10-TRUNC, truncates each line to specified length 
11-WRAP, wraps at column 80, plus pretty pretty 
printing, page #s . . . 

USERS DISK #16 - BB I Modem Software 

1-RCPM27, list of U.S. bulletin boards 
2-SMODEM, interfaces BB I with Hayes Smartmodem 
3-PLINK66, easy to use with non-CP/M host, for 

port A 
4-BBPAT, menu selection of BAUD rate, bits/char, 

parity, 6k. stop bits 
5-MODEM 7+. Modem 7 plus BBPAT, lets you talk 

to anything from port A 



USERS DISK #17 - Small C version 2 
SMALLC2, this substantially expanded version of 
Small C now includes for, goto, label, switch (case); 
external declarations; new preprocessor commands; 
expanded I/O includes redirection; initializers; plus 
12 new expressions. The I/O and runtime libraries 
have been greatly expanded (including printf)- Source 
6k. documentation on one full disk. 



USERS DISK #18 - FORTH 

IFORTH, this is Idaho FORTH which can be burned 
into ROM or loaded from disk. It replaces the PFM 
monitor 6k. handles all the monitor functions. See 
issue #11 FORTH column for more info about 
IFORTH and this disk. 



^ 



# 



& 



& 



& 



& 



& 



#• 



^ 



^ 



USERS DISK #19 - BB I Double Density 

New BB I Monitor, BIOS, character ROM, Winches- 
ter Interface, ZCPR, and formatter from Trevor 
Marshall. See BB I expansion article in Issue #11. 

USERS DISK #20 - Assemblers 
CROWE ASM: This is the Crowe assembler modi- 
fied so that it runs on any CP/M system (including 
the BB I, BB II, Xerox . . .). Includes .COM .Z80 and 
.DOC files. 

LASM: This assembler is similar to the ASM thaf 
comes with CP/M except that it can link files at 
assembly time. 

PRINTPRN: Print routine for CROWEASM .PRN 
files. 

LIBRARY: Utilities which let you combine many 
files into one, then you can run, type, or extrace any 
file within the larger system. 

USERS DISK #21 - Winchester Utilities 
BACKUP: Helps you back-up the Winchester onto 
multiple floppies. Creates a catalog of the files on 
each disk and includes the date of the latest backup. 
Will not back-up an unchanged file more than once. 
Plus many more super features. 
FLOPCOPY: Lets you make floppy copies (with 
only one floppy drive) by using the Winchester as a 
buffer. 

BIGBURST: Backs up a very large Winchester file 
onto multiple floppies. Joins the copies to recreate 
the original file. 

MULTCOPY: Use this like PIP but it prompts you 
to change disks. Accepts ambiguous file names. 
MDIR: Displays files in all user areas on selected 
drive. Many features. 

MAKE, MOVE: PIP-like utilities that make it easy 
to move files between user areas. 
SWEEP: The famous disk cleanup and transfer 
routine that does just about everything you can do 
with TYPE, ERA, D1R, and PIP. 
UNSQj This is the latest, greatest file unsqueezes 
Enter UNSQ.*.* and it will check every file on the 
disk. All squeezed files will be unsqueezed. 

USERS DISK #22 - Pascal Compiler 

This is a real Pascal compiler. It supports only a 
subset of the language (no records, pointers, bool- 
eans, reals or complex) but it generates a real .COM 
file. Everything is on this disk: the compiler, its 
source, example programs and documentation. 

USERS DISK #23 - Xerox Utilities 

This disk contains Xerox specific utilities including a 
screen dump fromWayne Sugai(with source); modi- 
fications for the SWP package including ZCPR, a new 
monitor, and a clock/calendar from Mitch Mlinar; 
and Jim Mayhugh's new monitor (see issue 19). A 
very special disk for Xeroxers. 

USERS DISK #24 - Prowriter Graphics 

This is a complete Prowriter printer graphics package 
written by the same Micro C subscriber who wrote the 
MX-80 graphics package. Plot points, lines, circles, boxes, 
and more. Examples, documentation. 

USERS DISK #25 - Z80 Macro Assembler 

This is a real Z80 macro assembler! Syntax closely follows 
RMAC and MAC. Also includes pseudo-ops to support 
conditional assembly etc. No phase or relocatable code. 

USERS DISK #26 - BBII CP/M 3.0 Banked BIOS/ 
Winchester Support 

CP/M 3.0 Banked BIOS implementation for the BBI. Roy 
Epperson's software to support the Adaptec ACB-4000 
SCSI and the Rodime R204 5" Winchester on the BBII 
(see issue #19). Plus more Winchester programs. 

USERS DISK #27 - BYE Remote CP/M System 

BYE programs to run your BBI, BBII, or XEROX 820-1 as 
a remote CP/M system using a Hayes Smartmodem 
compatible modem. Includes programs to allow restricted 
access. 

USERS DISK #28 - VFILER and 
Extended Single Density 

VFILER is a screen-oriented file manipulation utility, 
similar to SWEEP, CLEAN, and DISK. Also, Larry 
Blunk's documentation and software for implementing 
extended single density (334K) on eight inch disks. 



59 



Main/Frames 



Main/Frames 



_ from 

$175 



• 70 Models of Enclosures 

• Assembled and tested 

• Quasi-Coax Motherboards 

• Power Supply 

• Card cage and guides 

• Fan, line, cord, fuse, power 
& reset switches 



$499 

8" Floppy Main/Frame 




$275 

8" Disc Enclosure 



Phase/80 8 Floppy Main/Frame 



$370 

Slim Line 8" Floppy Main/Frame 

Write or call for our 
brochure which incfudes our 

application note: 

"Making micros .better than 

any ol' box computer" 



8620 Roosevelt Ave. • Visalia, CA 93291 

209/651-1203 

We accept BankAmericard/Visa 

and MasterCharge 



SINGLE BOARD 
COMPUTER 
CHASSIS & 



POWER SUPP 
$275 



Built like a tank 
won't break the bank! 





2901 



SINGLE BOARD COMPUTER CHASSIS AND 
REGULATED POWER SUPPLIES COMPLETELY 
ASSEMBLED AND TESTED. 

Cabinet size: 20"w x 22.4"d x 7.5"h. Cabinet painted 
dove grey; front, back and side accents black. Mounts 2 
SHUGART SA851R EIGHT INCH FLOPPY DISK DRIVES or 
MECHANICAL EQUIVALENT*. Lighted reset switch on front 
panel. Lamp supplied, but not connected. 4 DB25, 1 Delta 
50, 1 Centronics connector cutouts, two switched ac 
receptacles, 6' three wire line cord, EMI filter, 70CFM fan 
with washable dust filter, line fuse, power switch on rear 
panel. P2901 removable module power supply: +5@3A, 
+ 12®. 5A -12@.5A for computer; +5@2.5A, 
+24@2.5A— 4A peak, -5@.25A for disk drives. Includes 
power cable from power supply to computer (unter- 
minated wires at computer end) and power cable to 2 
disk drives (specify single or double sided drives when 
ordering). 

POWER SUPPLY & ENCLOSURE AVAILABLE 
SEPARATELY 




* 



fel'lfllti 



8620 Roosevelt Ave./Visalla, CA 93291 
209/651-1203 

We accept BankAmericard Visa and MasterCard 



60 



Micro Cornucopia, Number 20, October 1984 



SOG A FTERMA TH (continued from page 1) 



there are four compatible chips, the 
8088, 8086, 80186 and 80286. (The 80286 
will be the only chip supported by 
Borland's upcoming Ada compiler.) 



Don't Throw Away Your Z80— Yet 

A little historical (vrs hysterical) per- 
spective is probably in order (you there 
in the closet, come on out, no one's go- 
ing to byte your little Z80). Don't forget 
that the 6502 is still alive and kicking in 
the Apple HE and C. 

I know that using "Z80" and the 
"6502" in the same paragraph makes 
more than a few folks shudder, but 
when you understand that the processor 
which beat so slowly as the heart of the 
KIM and SIM single board computers, 
now beats just as slowly in Apples ev- 
erywhere, you'll realize that Z80s will be 
around for a long, long time. 

Also, what are you doing with your 
system? Is it working for you? Is there 
any reason that it won't continue to do 
the same thing for years to come? (I'm 
writing this on my four-year-old Big 
Board.) 

However, the handwriting is definite- 
ly on the wall (it's graffiti to some of us). 
The play is definitely in the PC's corner 
and there are starting to be some inter- 
esting single-board projects in that cor- 
ner. 



The Other Chips 

There is the Intel family of chips and 
there are the others, the 68000, the 
16032, and the 32032 to name a few. Un- 
fortunately for these other chips, there 
hasn't yet emerged a leader with a stand- 
ard system. So, when you purchase a 
68000 based machine you have a choice 
of operating systems and terminal types. 
No one is a real force in the 68K world so 
there isn't going to be the software selec- 
tion that you otherwise would have. 

There is the Sage, the Macintosh, and 
the new Morrow, for instance. Each has 
a different operating system, a different 
monitor, and, no doubt, a different disk 
format. (Each is gambling that its selec- 
tion might eventually become the stand- 
ard so the stakes are very high.) 

When you figure that the 68000 has 
been around almost as long as the 8086, 



and that it takes reasonably smart people 
to design a 68000 based system, you'd 
think that they could get together and 
come up with a standard system. 
Wouldn't you? 

On the other hand they'd probably try 
to do it by committee and I can guess 
what that would look like. Perhaps their 
only hope is for some sneaky person to 
paste "IBM" to a new 68000 based sys- 
tem and circulate half-a-dozen "secret 
pre-production copies." If no one sus- 
pected the ruse, it would be the best 
thing that happened to the 68K world. 
(The most sought-after graduates would 
be those with degrees in high-speed re- 
verse engineering.) Then if someone 
would do the same thing for the 32032, 
think of the great systems and software 
that could be developed. 

However, it is to Intel's advantage for 
the 68000 and 32032 worlds to remain in 
disarray. After all, as long as you can 
keep Borland's Sidekick in your camp, 
you can sell a lot of processors. I see 
these programs like this as the primary 
reason that people are purchasing 8086 
based systems. 

If that seems like an overstatement, re- 
member it wasn't very long ago that a 
major share of Apple purchases were 
solely a result of a newfangled program 
which created electronic spreadsheets. It 
was called VisiCalc. 



Two Positions Open 

First: I am looking for a person who is 
familiar with the innards of the Kaypro 
or Big Board and who would enjoy help- 
ing people who call or write for technical 
information. This is a VERY important 
position and the successful applicant 
will have final say on new product docu- 
mentation and will be responsible for re- 
visions of current materials. 

Second: I am looking for an executive 
administrator. This person must have 
experience as an administrator or group 
manager of a high-tech start-up. I am 
looking for someone to handle business 
details and establish office procedures. A 
history of success as an administrator is 
vital. I would definitely consider a re- 
tired ex-CEO. 

Please call me between 10am and 
noon, Pacific time, if you know someone 



who might fill either of the above posi- 
tions. 

Afternoons are for Writing 

It is now 10:13 pm Saturday but most 
of this evening's work is still ahead of 
me. I have put in regular 12+ hour days, 
6 and 7 days a week for over three years. 
I am going to have to cut that down to 
something resembling 40 hours a week 
before they cart me off to the place where 
all the jackets are sleeveless and all the 
doors lock from the outside. 

Finding an administrator and techni- 
cal assistant should help a great deal, but 
I still need a solid 20 hours per week just 
for writing and I'm not getting that time 
at the office. The primary problem is the 
phone. 

So, I'm going to be disappearing in the 
afternoons to get my writing and editing 
done. Hopefully, this way, the articles 
will be more accurate and the copy will 
read more easily. I can tell by reading a 
back issue just how bleary-eyed I was 
when I shipped off the copy. 

Staff Changes 

Tony Ozrelic (LA Software and C'ing 
Clearly) and his wife, Becky, have 
moved up from Los Angeles to join the 
Micro C staff. Tony will be working on 
new articles, disks, and other products. 
Becky will be taking Eric Belden's posi- 
tion as assistant editor (she'll be reach- 
able in the mornings also). (Eric Belden 
has been offered a full-time teaching po- 
sition at Central Oregon Community 
College and I'm tickled for him.) 

Article submissions and enquiries 
about article ideas should be directed to 
Becky. 

There is no Dana (to quote Ghost Bus- 
ters). Actually there is no Dana here. You 
see, he and Renee have gone home to 
Wisconsin to have their first child. We're 
really excited for them but we really miss 
them too. Dana is working for us re- 
motely during this neat time. 




David Thompson 
Editor & Publisher (& Exhausted) 



Micro Cornucopia, Number 20, October 1984 



61 



On Your Own 



By David Thompson 



What's in a name. Nothing and ev- 
erything. Your choice of name for your 
company and product can make the criti- 
cal difference between floundering and 
making it. In fact, some companies take 
naming so seriously that they are willing 
to spend $40,000 or more to have an out- 
side company handle the task. 

If you don't have $40,000 to shell out, 
maybe the following will help. 

Generally, you want your bedroom- 
based start-up to sound like an estab- 
lished, solid, secure, technically compe- 
tent, easy to remember, company. 

A while back, a close friend of mine 
was designing a house controller system 
in which the control modules communi- 
cated with the computer through the 
120V wiring. He was concerned about 
his ability to market his product because 
his business was squeezed into half his 
living room while his competitor had an 
ugly old cement-block building embla- 
zoned across three folds of a mailing 
piece. (Actually, his competitor was do- 
ing him a favor with that mailer!) All he 
needed was a good product, a good 
name, and a well designed mailing piece 
and there would have been no competi- 
tion. 

Look, you know how small you are — 
your accountant knows how small you 
are — but no one else needs to know (and 
that includes your mother). If you have a 
good product and you are responsible to 
your customers then it doesn't matter 
how small you are. 

Sometimes it's an advantage to have 
the name closely related to the product, 
other times it is not, especially if the 
name really limits where the company 
can go. 

So: 

Don't use "enterprises." or "associ- 
ates." 

Don't use initials, just to use initials. If 
you are going to use initials, make them 
work for you, like the computer compa- 
ny that selected the name MBI. Say MBI 
to yourself a few times, it has a certain 
solid ring to it doesn't it? Now say it 
backwards and you'll see why it sounds 
so solid. 

Don't use, Son, Brother, Daughter, or 
Father (sorry pop). 

Don't use a name that will limit you. 



Notice, for instance, that Software Pub- 
lishers became SWP. If your name were 
Motel Computers, you'd have to change 
it as you began to branch into more gen- 
eral purpose computer systems. But 
within the motel field, you'd probably do 
quite well. 

The name "Compaq" was brain- 
stormed by one of those expensive name 
shops (they spent months researching 
dictionaries and the computer field 
searching for bits and pieces to paste to- 
gether. 

They had been asked to come up with 
a name for a portable computer and the 
name was to promote a feeling the the 
unit was a very solid, state-of-the art 
system. It also had to be easy to say and 
remember. 

They settled on the name "Compact" 
and then changed the ending to q to add 
the feeling of high technology. It worked 
incredibly well, and the company sold 
more product in their first year than any 
other company in history. 

What if they had named it the Dul- 
mont? Where would they be? Don't 
laugh! There is a portable computer 
called the Dulmont being imported from 
Australia. Which would you buy? If you 
bought a Dulmont, would you admit it in 
public? 

"I really love my Dulmont!" you'd 
say, "It's the greatest thing since they 
started putting square tubes on TVs." 

The name "Dulmont" sounds "dull" 
and the "mont" no doubt means it was 
designed during the 1950s and pur- 
chased at Montgomery Ward. Just close 
your eyes and try to imagine a "Dul- 
mont" and then try to imagine a "Com- 
paq." See the difference? Which one 
would be easy to carry? Which one 
would need rabbit ears? Which one 
would you find at your local landfill? 

(However, let me break the name im- 
age. The Dulmont weighs in at 8 lbs, has 
an 8 by 80 liquid crystal display, fits in a 
briefcase, and uses an 80186 processor. 
In reality, the Dulmont is higher tech 
and more compact than the Compaq, but 
as a dealer or a distributor I wouldn't 
touch it until they changed the name.) 

Micro Cornucopia is too long, too hard 
to pronounce, hard to spell, and hard to 
remember. It doesn't sound like a tech- 
nical journal. However, as you will see, 



the name has some redeeming qualities 
(just as "Dr Dobbs"). (A name should 
even have a rhythm that makes it easy to 
understand and easy to say.) 

Good Names 

I've chosen a few names that I like: LA 
Software (Sounds substantial), Uni- 
FORTH (easy to say, explains the prod- 
uct), The Code Works (neat pun), 
RealWorld Software (sounds substantial 
but also laid back, sort of a programmer's 
name). 

Bad Names 

Overbeek Enterprises: This company 
used to call itself RealWorld Software but 
the real owner of the name claimed it, so 
Overbeek chose his own (unfortunate- 

iy). 

BEE.MOR Enterprises: This is a case 
where MOR is definitely less (sounds 
like a mail order self-improvement 
course). I'd buy a Delphi Winchester 
System in a minute but I sure wouldn't 
admit it was also called a STOR.MOR. I 
think they should "Think. MOR." 

Insight Enterprises: I have trouble 
with this name. It doesn't flow, it breaks 
the rule about using "Enterprises", it 
doesn't mean anything related to tech- 
nology, and it's hard to remember. (I al- 
so understand that they have gone out of 
business.) 

ROMAC SCULL-TEK: This name is so 
full of negative feelings that I doubt it is 
repeated during daylight hours. RO- 
MAC is definitely the name of a Mission 
Impossible villain and everyone knows 
what a scull is. Put them together and 
this system will get very little word-of- 
mouth advertising. 

Names with Problems 

Digital Research Computers: Too 
long, too easy to confuse with Digital Re- 
search of Cal, but the similarity can be an 
advantage too. 

Slicer: Close to a connection with bit- 
slice speed but not quite there (though it 
is definitely growing on me). 

Integrand: Does it sound like a small 
cabinet or a large piano? 

Phenix: How does it spell, what does it 
sell, does it rise from ashes even when 
it's misspelled? Still, it lends itself to an 
image of a large ancient bird which is not 



62 



Micro Cornucopia, Number 20, October 1984 



bad. Not bad. 

CAL-TEX: Many still think it's 
CALTECH when they hear it on the 
phone, and there is no computer rela- 
tionship here. However, the use of the 
two states gives the impression of a large 
company. 

Big Board: This name just sort of 
popped up in a conversation between 
Jim Ferguson and the technician who 
was bringing up prototypes of this neat 
system. However, at the time it was in- 
troduced, it was really a compact, state 
of the art system with lots of memory 
and a fair amount of speed. The name 
"Big Board" did this system a disservice. 
The name is easy to say but for me it im- 
plies something large and ponderous or 
something relating to the NY stock ex- 
change. 

Of course, now the board has a large 
following (10,000+ boards I hear) so the 
name is definitely known. However, 
what if it had been called the "240" or 
"SuperTek" or something similar? "240" 
may surprise you but this number has 
long been known to give the impression 
of compactness and speed. 

Micro Cornucopia 

As long as I am going to pick at a few 
sacred names I may as well take a stab at 
Micro C. 

Sandy and I spent a number of months 
agonizing over the name of our new 
magazine. For a while we considered 
calling ourselves BBUG (the Big Board 
User's Group). 

Micro C probably would definitely not 
be as big now if we had chosen BBUG. 
Even during our first year, many of our 
subscribers had systems other than the 
Big Board. If you think Micro Cornuco- 
pia sounds strange, think about people 
telling each other about a bug with a 
stutter. 

As I mentioned earlier, Micro Cornu- 
copia has a few problems as a name. It's 
long, it's hard to spell, and it's hard to 
pronounce. 

The word Cornucopia (means horn- 
of-plenty) commonly appeared on the 
marquee of general stores in rural fron- 
tier America. This image of an old-fash- 
.ioned, small-town general store that 
supplies everything from staples to 
shoelaces, really fit our image of Micro C. 



We planned to include information to 
meet a plethora of very specific needs (as 
opposed to the general interest maga- 
zines which supplied very little informa- 
tion to a very great number of people). 

However, because of the name, many 
people are surprised when they see their 
first issue. They expect a dozen pages 
run out on a dot-matrix printer. Unfortu- 
nately, our name contributes to that ex- 
pectation. 

We've chosen to keep Micro C laid- 
back and unslick (our high-quality non- 
shiny paper costs as much as the slick 
variety, but it's easier on the eyes). Our 
graphic style fits the informal style of the 



articles and the columns. We provide a 
place where people can share informa- 
tion. (That's a big part of a general store 
right?) We have had some growing pains 
(every small business does) but I think 
that the name has helped us maintain 
our original feel. (I can still imagine the 
original "Dr Dobbs" making house 
calls.) 

Perhaps we could have chosen a better 
name for our magazine, but like the Big 
Board, we're not apt to change it any 
time soon. (And I kind of like the sound 
of "Micro C") 




Knowledge And Mind Amplification System. 

A unique blend of familiar productivity tools with dynamic new ones: 

D Outline Processing lets you organize your ideas in a familiar outline form. 

D Information Retrieval keeps your thoughts at your fingertips with astonishing speed. 

D Word Processing fills out the structure of your ideas with text. 

D Telecommunications lets you set up a structured, electronic bulletin board. 

D Programming Environment lets you get under the hood and extend your horizons. 

It all adds up to awesome Knowledge Processing power. Your chance to join the next 
wave of the integrated software revolution. 

Available for CP/M, Z80 systems. Special introductory offer: $ 1 47. Send now for your free 
copy of The KAMAS Report. 



COMPUSOPHIC 
SYSTEMS 



Dept. 1 1 2 • 2525 SW 224th Ave. 
Aloha, Oregon 97006 • (503)649-3765 



KAMAS is a trademark of Compusophic Systems. CP/M is a registered trademark of Digital Research, Inc. Z80 is a regis- 
tered trademark of Zilog, Inc. 



Micro Cornucopia, Number 20, October 1984 



63 



LETTERS 



(continued from page 3) 



Dear Editor, 

After owning a "blue lunch pail" 
(Kaypro-II) for just under one year and 
after 650 hours of use, I received a 
"BDOS Err on B:" message, the B drive 
was out. After going through the "User's 
Guide" Technical Information Trouble- 
shooting sequences, and telephoning 
my local dealer's tech-rep, we seemed to 
agree that the drive was probably out of 
alignment. Into the shop. What the heck! 

A telephone call two days later gave be 
the bad news: He discovered that 
B:Drive had a bad stepper motor, and 
was forced to replace the drive assembly. 

When I picked up my machine, I in- 
quired if there was something I had done 
to abuse the drive. "No," was the an- 
swer. He reported that their service de- 
partment got about ten similar problems 
per month. 

Did I do something to abuse the drive? 
Blue Max lives in a non-smoking, fairly 
well dusted (air blown) environment. 
The heads were reportedly, "... not 
particularly encrusted . . ." At a $250 ser- 
vicing/repair fee, I don't want to experi- 
ence that feeling too many more times. 
It's kinda like taking the Bug into the 
shop for a tune-up and feeling that sink- 
ing feeling in the pit of your stomach as 
the mechanic tells you about the valve 
job you need. And feeling about as help- 
less when you don't know the mechanic 
and don't understand what a valve is. 
Especially as I read the ad on page 20 of 
Micro C #18, "... stepper . . . $10-$25." 
Ouch! 

Now I guess, like Gary Stookey in the 
letter box, I have to learn how to "... 
have my head fitted with a 100MB hard 
disk . . ." and struggle to fix my equip- 
ment myself. What we need, out here, is 
a computer version of John Muir's "How 
to Keep Your Volkswagen Alive," a man- 
ual of step by step procedures for the 
compleat idiot. 
George (Bear) Stevenson 



the appropriate pads. It is a simple mat- 
ter to solder a 16 pin socket into these 
holes. Once the socket is in, make the 
following connections: 

Jumper pads 8, 12, and 13 together. 

Jumper pad 1 to J6 pad 6 (not normally 
connected). 

Jumper pad 2 to J6 pad 12 (connected 
toU71pad8). 

Jumper pad 3 to J6 pad 10 (connected 
toU71pad6). 

Jumper pad 4 to J6 pad 14 (not normal- 
ly connected). 

Bend out pins 6 and 8 on U71 and pins 
14 and 15 on the 7445. If you don't bend 
out pin 14, the system freaks! 

Jumper U71 pin 6 to pin 14 on the 7445. 

Jumper U71 pin 8 to pin 15 on the 7445. 

Insert the 7445 into the socket, and 
power the system. This is a simple modi- 
fication and costs about $2.00. 
Brett D. Johnson 
975 Yakima Drive 
Fremont CA 94539 

Editor's note: 

Thanks for the tip <! 



Dear Editor, 

Here's another approach to the Plus-4 
Decoder Board. 

On my board, the Kaypro people de- 
cided to leave out a chip which was right 
next to the drive connector. However, 
they did supply power and ground to 



Dear Editor, 

There are a couple of quirks in SB ASIC 
(or what I, in my innocence, would con- 
sider quirks). First, I have only just real- 
ized, after reading the evidence over and 
over, that character variables can be set 
and checked using integers. I am a little 
embarassed to admit it took me this long 
to find out. This makes the character var- 
iable a sort of crossover between strings 
and integers. Instead of: 

WHILE Y>CHR(13) DO BEGIN 

we can write: 

WHILE Y>ODH DO BEGIN 

Not one of your earthshakers, per- 
haps, but a revelation to yours truly. 
This opens up new possibilities for the 
CASE . . . OF statement that were not 
available before. The statement would 
not accept the comparison of a character 
to, for example, "CHR(13)", without 
balking, at least as I remember. I would 
suppose that there would not be a prob- 



lem with comparison to an integer. 

The other quirk is a bug, pure and sim- 
ple. When using the TEXT statement, 
the program ignores CTL. .9 (tab) charac- 
ters. The fix, of course is to use spaces. 

Another quirk, while I am on the sub- 
ject, is the result of SBASIC using its 
own file access routines. If you program 
in lower-case, and I'm leaning that way, 
you may accidentally type in a file name 
in 1/c, whereupon you can't get the 
damn thing in CP/M. 

By the way, I now have all three of the 
Kaypro manuals on SBASIC, and unless 
I'm mistaken, they're all the same book, 
except for book one's notes on B-trees. 
Book two rearranges the book one chap- 
ters, omits B-trees, and uses "publish- 
er's font" instead of typewritten pages. 
Book three seems simply to be a more 
fashionable size (it's 7X9 instead of 
8X11). So much for progress, except that 
books two and three are much easier to 
read. 

But I'm happy with them. I haven't 
had so much fun since the cube, and ev- 
ery day I find another gem. Today's? 
Well I've been going over the file-han- 
dling section again and finally noticed 
that Ohnysty has made it possible to 
overlay variables, characters and strings, 
and file buffers. What elegance! What an 
economizer! How sweet it is! 
Dan W. Kingery 
Box 1406 
Renton WA 98057 



Dear Editor, 

I am looking for a source listing for the 
BIOS for the Kaypro-II. I was told by 
Non-Linear Systems that you can pro- 
vide this information. Is this available on 
disk. Please respond with cost. 
Robert L. Murphy 
3500-8 Warwick Dr. 
Lexington KY 40502 

Editor's note: 

Actually, Kaypro (Non-Linear) sells the 
BIOS source as part of their copyrighted tin- 
ker kit. Try them again and tell them Micro C 
sent you. (Your dealer might already have a 
copy and might let you borrow a printout so 
you can see what is going on.) 



64 



Micro Cornucopia, Number 20, October 1984 



NEW LOWER PRICES! 



NEW LOWER PRICES! 

"BIG BOARD II" 

4 MHz Z80-A SINGLE BOARD COMPUTER WITH "SASI" 
HARD-DISK INTERFACE 



NEW LOWER PRICES! 




$545 ASSEMBLED & TESTED 



$145 PC BOARD WITH 16 PARTS 



Jim Ferguson, the designer of the "Big Board" distributed by Digital 
Research Computers, has produced a stunning new computer that 
Cal-Tex Computers has been shipping for a year. Called "Big Board II", it 
has the following features: 

■ 4 MHz Z80-A CPU and Peripheral Chips 

The new Ferguson computer runs at 4 MHz. Its Monitor code is lean, uses Mode 2 
interrupts, and makes good use of the Z80-A DMA chip. 

■ 64K Dynamic RAM + 4K Static CRT RAM + 
24K E(E)PROM or Static RAM 

"Big Board M" has three memory banks. The first memory bank has eight 4164 DRAMs 
that provide 60K of user space and 4K of monitor space. The second memory bank has 
two 2Kx8SRAMs for the memory-mapped CRT display and space for six 2732As, 2Kx8 
static RAMs, or pin-compatible EEPROMS. The third memory bank is for RAM or ROM 
added to the board via the STD bus. Whether bought as a bare board or 

assembled and tested, it comes with a 2732 EPROM containing Russell Smith's superb 
Monitor. 

■ Multiple-Density Controller for 
SS/DS Floppy Disks 

The new Cal-Tex single-board computer has a multiple-density disk controller. It can 
use 1793 or 8877 controller chips since it generates the side signal with TTL parts. The 
board has two connectors for disk signals, one with 34 pins for 5.25" drives, the other 
with 50 pins for 8" drives. 

■ Vastly Improved CRT Display 

The new Ferguson SBC uses a 6845 CRT controller and SMC 8002 video attributes 
controller to produce a display rivaling the display of quality terminals. There are three 
display modes: Character, block-graphics, and line-graphics. The board emulates an 
ADM-31 with 24 lines of 80 characters formed by a 7x9 dot matrix. 

■ STD Bus 

The new Ferguson computer has an STD Bus port for easy system expansion. 

■ DMA 

The new Ferguson computer has a Z80-A DMA chip that will allow byte-wise data 
transfers at 500 KBytes per second and bit-serial transfers via the Z80-A SIO at 880 Kbits 
per second with minimal processer overhead. Vhen a hard-disc subsystem is added, 
the DMA chip makes impressive disk performance possible. 



SIZE: 8.75" x 15.5" 
POWER: +5V @ 3A, 



-12V@0.1A 



■ "SASI" Interface for Winchester Disks 

Our "Big Board II" implements the Host portion of the "Shugart Associates Systems 
Interface." Adding a Winchester disk drive is no harder than attaching a floppy-disk 
drive. A user simply 1 ) runs a fifty-conductor ribbon cable from a header on the board to 
a Xebec controller that costs only $295 and implements the controller portion of the 
SASI interface, 2) cables the controller to a Seagate Technology ST-506 hard disk or 
one compatible with it, and 3) provides power for the controller-card and drive. Since 
our CBIOS contains code for communicating with hard-disks, that's all a user has to do 
to add a Winchester to a system! 

■ Two Synchronous/Asynchronous Serial Ports 

With a Z80-A SIO/O and a Z80-A CTC as a baud-rate generator, the new Ferguson 
computer has two full RS232-C ports. It autobauds on both. 

■ A Parallel Keyboard Port + Four Other Parallel 
Ports for User I/O 

The new Cal-Tex single-board computer has one parallel port for an ASCII keyboard 
and four others for user-defined I/O. 

■ Two Z80-A CTCs = Eight Programmable Counters/Timers 

The new Ferguson computer has two Z80-A CTCs. One is used to clock data into and 
out of the Z80-A SIO/O, while the other is for systems and applications use. 

■ PROM Programming Circuitry 

The new Cal-Tex SBC has circuitry for programming 2716s, 2732(A)s, or pin- 
compatible EEPROMs. 

■ CP/M 2.2** 

CP/M with Russell Smith's CBIOS for the new Cal-Tex computer is available for $150. 
The CBIOS is available separately for $25. 



"CP/M is a registered trademark ol Digital Research. 



CAL-TEX COMPUTERS, INC. 

780 E. TRIMBLE ROAD #504 • SAN JOSE. CA 95131 « (408) 942-1424 



Terms: Orders paid for with a cashier's check or bank card will be shipped within three 
working days. Orders paid for with a personal check will be shipped within three weeks. 
Add $5 for packing & shipping in North America. 



Micro Cornucopia, Number 20, October 1984 



65 



mm sis 



The following folks are reaching you for 
only 20 cents per word. If you would 
like to reach the same audience, send 
your words and 20 cents for each to Mi- 
cro Cornucopia. 



Full size photo copy of bare Big Board I 
(both sides). Invaluable for finding traces 
under ICs! Send $1.00 to: Carl Jones, 459 
Alexandra Way, Grass Valley CA 95945. 



SOFTWARE Z80 assembly language 
quiz, 100 questions. Use it as a fast re- 
view, serious study, or game. Self- 
prompting. Choice questions. Keeps 
track of score. On 8" SSSD disk for a 
Z80-64K CP/M 2.2 computer, NEW 
PRICE $16.95. (US funds) Send check/ 
m.o. USA & Canada. Z-QUIZ, PO Box 
3775, Stn B, Winnipeg, Manitoba Cana- 
da R2W3R6. 

Z80 MICRO-CONTROLLER parallel 1/ 
O, keypad commands. Complete plans 
and ROM monitor, NEW PRICE $29.95. 
Also source & doc on 8" SSSD disk, use 
with a Z80-64K CP/M 2.2 computer, 
NEW PRICE $19.95. Build-N-Learn how 
controller hdwe/sfwe controls ma- 
chines/robots. (US funds). Send ch.l 
m.o. to: ZMC, PO Box 3775, Stn B, Win- 
nipeg, Manitoba Canada R2W 3R6. 

BBI ROM Terminal Emulator. Menu- 
driven selection of SIO port, baud rate, 
parity, etc. Interrupt-driven I/O loafs at 
9600 baud. Uses one EPROM slot. $29.95 
ppd ($34.95 for 2716-1). Unified Soft- 
ware Systems, PO Box 2644, New Car- 
rollton MD 20784. 

Public Domain UG Software Rental: CP/ 
M UG Vol 1-92 on 46 8" Flippies $45.00, 
SIG/M UG Vol 1-176 on 85 8" Flippies 
$90.00, PICONET Vol 1-34 on 17 8" Flip- 
pies $25.00, Pascal-Z UG Vol 1-25 13 8" 
Flippies $20.00, UG Games 20 Vols of the 
best ones $20.00, UG Modem 20 Vols of 
the best $20.00, UG Business 20 Vols of 
the best $25.00, UG Utilities 10 Vols of 
the best $20.00. Rental is for 7 days after 
receipt with 3 more days grace for re- 
turn. Credit cards accepted (preferred). 
5" disk formats also available. Down- 
loading-disk format conversions. Call. 
User Group Software Automatic Update 
Service - $7.50 per 2 volume set PP. 619- 
727-1015 24 hrs. 619-941-0925 info. P.J.'s 
National Public Domain Software Cen- 
ter, 1533 Avohill Drive, Vista CA 92083. 



SUPERB MAILING LIST PROGRAM 

stores and manages names and address- 
es that can be revised at any time. Its size 
is limited only by the disk storage avail- 
able. The address labels may be code se- 
lected and printed in five different for- 
mats on your computer paper or on label 
rolls. In addition to the name and ad- 
dress fields there are four additional 
fields in each record for telephone num- 
ber, date and two amount fields if de- 
sired. At any time the entire roster may 
be printed out. For CP/M 2.2 based sys- 
tems with two disk drives and printer ca- 
pable of 132 columns for maximum us- 
age. Terminal installation program 
module included. Supplied on 8" SSSD, 
5.25" Kaypro and many others (please 
write). Special introductory offer by 
ABLE DATA SOFTWARE INC., PO Box 
86923, Station C, North Vancouver, BC 
V7L 4P6. Only USA $19.95 postpaid 
check or money order. 



GEMINI/EPSON Finally, put an end to 
programming hassle! Set up printer us- 
ing single keystrokes from menu. Avail- 
able immediately for CPM/80 (Kaypro 
Format) and CPM/86 (IBM PC Format). 
Package includes .COM program and 
source code. As a bonus, source code for 
insertion in your program to allow 
changes "on the fly" for applications 

such as subscripts is also included. Send 
$10.95 to: ARLYN Software Dept. M, 
Route 4 Box 27, Corral Park, Grayson KY 
41143. 



JRT PASCAL 3.0 OWNERS: All is not 

lost! A new product, PASCAL POWER, 
makes developing JRT Pascal programs a 
breeze. A full screen menu development 
environment automates the edit, com- 
pile, test cycle. PASCAL POWER uses 
your editor, so you don't have to learn a 
new editor. The Module Manager in- 
sures consistent type, const and external 
procedure declarations between JRT 
modules. Become a beta customer for 
this new product and you will receive 
PASCAL POWER at a lower price and all 
future updates free! You will receive a 
questionnaire for your valuable feedback 
on our product. PASCAL POWER is for 
JRT Pascal 3.0 owners, CPM/80, Kaypro 
and most popular formats. State disk 
format. Send check or money order for 
$14.95 to PASCAL POWER, PO Box 
1540, Crestline, CA 92325. Calif, resi- 
dents add 6% sales tax. 



public domain software available by 
mail. A very informative monthly news- 
letter with NO ADS, featuring articles on 
modifying your Kaypro and many offers 
from distributors for group discount 
purchases. TAMPA BAY KAYPRO US- 
ER'S GROUP, 14 CYPRESS DRIVE, 
PALM HARBOR FL 33563. One year 
membership with password ID# for ac- 
cessing both RCP/M systems (300/1200 
baud) $25.00. 



BIG BOARD, XEROX 820'S, 16/8; 
REAL TIME CLOCK: MICROCRON is 
assembled, adjusted and comes with ex- 
tensive software collection, timestamp 
files, printouts, dBASEII-$69. EPROM 
PROGRAMMER: EZPROMMER is by 
far the best value for versatility and con- 



CPAK4 Three programs, main program 
and two utilities. Fast data encryption, 
automatic key generation, histogram 
utility to check security. IBM/PC/DOS 
and Kaypro-II formats. FREE for cost of 
disk and postage, $7.50. Security Tech- 
nologies, 2752 Kaaha St., Suite 407, Ho- 
nolulu HI 96826. 

Big Board I System for sale. Commercial 
enclosure, 15" green screen, hall-effect 
keyboard, 2 Shugart drives, lots of soft- 
ware - $650.00. Also, 2 new Shugart 
801's-$100.00 each. Donald Smith, 39646 
Trinity Way, Fremont CA 94538. 415- 
657-9435. 

MT.COM a NEW SUPER MATH DRILL 

program for Kaypro. Also included RE- 
PORT. COM with source written in SBA- 
SIC. REPORT lets you monitor progress 
of drills with screen or list out-put. Send 
$29.95 to: J-ONE-S, Box 513, Gloster MS 
39638. 

TANDON 101-4 Kaypro Quad Density. 

Use Micro C's ROM and get 784K per 
drive. Like new and checked out. $140 
plus 6% tax and shipping. Mike Hagen, 
303 Esther St, Costa Mesa CA 92627. 
714-645-1929. 

KAYPRO SOFTWARE, hardware infor- 
mation, technical updates, and two 
RCP/M systems with 26Mb of on-line 
storage. The Tampa Bay Kaypro User's 
Group has the largest public domain li- 
brary and more current Kaypro-specific 
programs than KUG. The TBKUG can be 
of benefit to members without modems, 
all TBKUG User Disk volumes and other 



66 



Micro Cornucopia, Number 20, October 1984 



ENGINEERING SOFTWARE 

CPM-80 • MSDOS • TRSDOS • PCDOS* 



,10***° 



AC NAP 



Sj>£> 




Free Catalog 



Dealer Inquiries Welcome 



Professional — Affordable 

PLOTPRO — Scientific Graph Printing Program S49.95 
ACIMAP — Electronic Circuit Analysis Program $49.95 
SPP — Signal Processing Program $59.95 

* 96 computers and formats including IBM look-alikes. 
8087 co-processor (slightly more), and Apple with 
CP/M. Include $3.00 ($9.00 Foreign) shipping and 
handling with each program. California add 6%. 

BV Engineering 

Box 3429 • Riverside, CA 92519 • (714) 781-0252 



WANT ADS 

venience-A&T $125. DRIVE CONTROL 
UNIT: Xerox chose our design for their 
820's. We have a version for the 820 that 
doesn't require soldering from $29.95 to 
$65. WORDSTAR ENHANCEMENT: 
SPEEDSCREEN speeds up screen access 
and allows bright/ dim with blinking cur- 
sor for the 820-11 version- $29. 820-1 SU- 
PER MONITOR: Prom set enhances 
standard monitor with terminal mode, 
soft boot, clock, features rich at $29.95. 
Call or write for details and product sup- 
port, VISA, MC. OPTRONICS TECH- 
NOLOGY, PO BOX 81, Pittsford NY 
14534. 716-377-0369. 

Wanted, Old Kaypros. The Micro C 
technical staff has run out of older Kay- 
pros that even vaguely resemble original 
factory issue. So we are looking for a 
couple of older (a little worn around the 
edges OK) Kaypro lis or 4s (pre-84) to 
practice on. Must be cheap and in rea- 
sonable working order (will consider 
units with flaky drives or other prob- 
lems). 

SAVE MONEY on new microcomputer 
gear. Get Schultz's List, the bimonthly 
report of best current prices. We search 
for the great deals; you get top equip- 
ment cheaply. Why waste more money? 
Concisely covers thousands of products: 
systems, terminals, monitors, drives, 
cards, printers, modems, software, ac- 
cessories, supplies. Single report only 
$9.95; save 33% order year's service (six) 
for $39.80. All postpaid and guaranteed 
from Owen Schultz, POSTROAD 
PRESS, INC., 635 Day Avenue 3SW, 
Roanoke VA 24016. 



EXPAND YOUR BIG BOARD 

GIVE YOUR BBI A PRESENT: EXPAND IT1 

This versatile expansion system features a Z80 daughter board for direct "on the bus" 
expansion of memory and I/O. The main board allows you to add on the most popular Big 
Board accessories all on one board: 

BANK-SWITCHED MEMORY: 6^K to 1 Mbyte of dynamic RAM with "delay 
line" timing and 8K to 32K of EPROM or battery-backed STATIC RAM. 
Advanced "HOLE" memory mapping for ultra-fast RAMdisk operation. 

Z80 I/O: One SIO, two PlOs, and one CTC. The SIO and PIOs are fully 
buffered with the same header connections as the BB I. 

OTHER I/O: One ADC0808 8-input 8-bit A/D converter, two DAC 800 8-bit 
D/A converters, one AY- 3-89 10 programmable sound generator, and one 
MM58167 battery-backed real-time clock. 

* SIMPLE PIGGYBACK INSTALLATION - NO MODIFICATIONS TO BB I NEEDED! * 

Main board is the same size as the BB I and runs at 2.5 or k MHz 
Versatile connection scheme allows for further expansion 

RAMdisk software provided (.COM and .MAC) for SWP DD or standard DRC CBIOS 
It installs a 250K. drive M: and patches the MM58167 as the clock display. The patch can 
be easily modified for other types of CBIOS. Also included are system checkout and 
utility software. 

All parts (except delay line) are easily obtainable. We provide source lists. Pro-quality 
schematics on two large blueprints for easy reference. 

$99.95 Bare daughter and main boards (solder-masked and silk-screened), 

documentation, and 8-in. SSSD software disk 
$16.95 Delay line 

Shipping and handling, add: U.S.A., $5.00; Canada, $8.00. Sorry, . no other exports. 
Check or money order only; no CODs. Delivery: stock to 6 weeks. 

For free 5-page spec sheet, please write or call: 
Rivendell Audiocomp, P.O. Box 28937, San Diego, CA 92128 

Rivendell Audiocomp 

Custom Audio and Computer Design 619-451-3424 



BIG BOARD 

COLOR GRAPHICS 

$9095Bare 

A m Board 

TMS 991 8 A Based Graphics System 
256H-192V * 16 Colors 

*32 Simultaneous Fast Moving Sprites 

* Composite Video Output 

* Highest Quality PC Construction 

• Software Includes Character & Sprite Editor 
Demo Program In Pascal & Basic 

• Drivers Are Above The Monitor For Use 

With High Level Languages 
Requires 1 trace cut and 1 jumper (see adding 6K of Ram MicroC#7) 
Plugs Into U70 (U70 Still Available for Prom with Jumper) 

TAAS9918A Graphics Chip $ 34 95 
HI Check * Money Order * COD Eg* 

GRAPHTECH 

P.O. Box 1185, McPherson, KS 67460 — (316) 241-6330 

Call for Availability & Price of Parts Kit 

Kansas Residents Add 4% Tax/Include $3 For Postage & Handling 

Allow Four to Six Weeks for Delivery 



Micro Cornucopia, Number 20, October 1984 



TECHNICSI, TIPS 



BBI Horizontal Video Fix 

I am surprised that nobody has sent in 
a fix for the lousy video on the Big Board. 
The video combiner produces a signal 
which allows all the horizontal portions 
of the characters to "trail off" like the tail 
of a comet. Capacitor C142 peaks the 
video, but it overdoes the job. On the 
other hand, some kind of compensation 
is needed. I got good results by parallel- 
ing this 33pf capacitor with a 3000 ohm 
resistor. This allows the horizontal bars 
on 'E/ 'F,' 'H/ 'L,' etc. to maintain bright- 
ness throughout their length. Some 
work is still needed to get the displayed 
screen width wider, but this is a good 
beginning. 



BBI Video Fix 



DB^ 



'33pf 



3K 



R2I 
-VW- 

I.5K 



J6 PIN2 
-OVIDEO 
OUT 



74LS86/ 
74LSI36 



<-ADD3K 



R26 
4.3 K 



Doug McGarrett 
190-15 111th Avenue 
Jamaica NY 11412 



Guest Speaker for Kaypro's Internal 
Modem 

How about a speaker on that Kaypro 
484 internal modem? The speaker will fit 
next to the fan, where the case has been 
slotted. Silicon caulking can be used to 
secure it to the case once the wires are 
connected. The volume control will 
mount above the speaker and next to the 
reset switch. This is a handy place since 
most Kaypro owners are familiar with 
the location of the reset switch (because 
of all those whiz bang new programs 
that crash the system). 

Installation 

Very carefully, with the power cord re- 
moved, drill a hole for the volume con- 



trol. Be sure to remove all the metal 
shavings from inside the 484 and make 
sure none got into the fan. 

Resistors RIO and R13 are necessary to 
change the gain of the LM324 to drive the 
speaker. Shunt RIO (20K) with the 10K 
resistor from the parts list. Remove R13 
and insert the 1M resistor in its place. 
Connect one end of the luf capacitor to 
E19. Connect a wire from the other end 
of the capacitor to the high side of the 
volume control. Connect the volume 
arm to one side of the speaker and con- 
nect the other side of the speaker to 5V 
common, available at the power connec- 
tor for the drives. 

Parts required: 

1 39 ohm speaker,two inch dia. 
1 luf 10VDC capacitor,DC isolation 
1 500 ohm Potentiometer, volume Ctrl 
1 10K ohm, 1/4W resistor 
1 1M ohm, 1/4W resistor 



Figure la - Component Locations 



J5- PARALLEL PORT 



X XXX 



T 



T 



EI.9 



TT 



— | RI3 [ — » 



X 



T 



□ 



PHONE 

LINE 

XFRMR 



Figure lb - Speaker Circuit 




s» I00K 
REPLACE R13 
WITH 1M/L 



Michael G. Veilleux 
1110 W. Winston Dr. 
Santa Maria CA 93454 
805-922-3318 



UnProtecting MBASIC Files 

Ever protect an Mbasic file with the 
",P" option either by mistake or on pur- 
pose and then wished that you hadn't 
done that. Here is a quick way to UNpro- 
tect any Mbasic program running on 
your Kaypro. 

You will need DDT.COM, MBASIC- 
.COM, and the protected file on a disk, 
and then simply follow the directions 
listed in figure 2. 



Figure 2 - UnProtecting MBASIC File 



A0>DDT MBASIC.COM 
DDT VERS 2.2 
NEXT PC 
6000 0100 
-S80 

0080 79 00 

0081 20 . 
-G 



OK 

LOAD "filename" (protected file) 

LET DDT=&H38 

OK 

CALL DDT 

*4D6A 

-S0BEC 

0BEC FE 00 (note: 

the FE must be here) 

0BED 00 . 

-G 

OK 

SAVE "filename", A 

SYSTEM 

MBASIC filename 

LIST 



Your file should list now. Note that 
underlined characters are entered from 
the keyboard. The object is to change the 
Byte FE located at &H0BEC to 00; this 
unprotects the file and it may be saved in 
ASCII format again. 

Mike Loth 
Po Box 847 
Steamboat Springs CO 80477 



68 



Micro Cornucopia, Number 20, October 1984 



TECHNICAL TIPS 



Additions to the PFM-80 Boot Routine 

Following a RESET, control of the Z80 
on the Big Board is transferred to loca- 
tion 0000 where a short boot routine cop- 
ies the PFM-80 monitor from EPROM to 
RAM starting at location F000. This boot 
routine (actually a Z80 block move com- 
mand) copies the first 2K bytes but by 
changing one byte it can be made to copy 
4K. That is, it will also copy the contents 
of a second EPROM (U68) to RAM start- 
ing at location F7F0. The byte to alter is 
EPROM address 0009. Change the con- 
tents of this location from 08 to 10. 

This modification allows additional 
routines (such as a printer driver) stored 
in the second EPROM to be booted up to 
the correct address, together with PFM- 
80, following a RESET. However, some 
thought is needed before a second 
EPROM can be used in this way. 

First, there is not a simple correspon- 
dence between EPROM addresses and 
RAM addresses. This is because the boot 
routine at the beginning of the EPROM is 
not copied up to RAM. Therefore 
EPROM location 0010 is the first one to 
be copied. 

The locations in EPROM that a routine 
should be stored at (so that it arrives at 
the correct RAM address) are listed in 
figure 3. 



Figure 3- RAM /EPROM 


Offset 


EPROM 


RAM 


1st 0010 
Eprom 0011 


F000 
F001 


07FE 
07FF 


F7EE 
F7EF 


2nd 0800 
Eprom 0801 


F7F0 
F7F1 



0FFF 



FFEF 



Certain areas of RAM are used by PFM- 
80 for variable storage. These areas obvi- 
ously cannot be used as they will be 
overwritten by data. The locations to 
avoid are FF00 to FFC7. This means that 
0800 to 0F0F and 0FD8 to 0FFF in the 
EPROM address space are available for 
use. 

So, as an example, if an additional 
routine is to be located beginning at 
RAM address FA00 then it must be 



stored beginning at EPROM address 
0A10. 

You should find this method of adding 
software to the Big Board more conven- 
ient and professional than patching rou- 
tines in from disc or squeezing them into 
the CP/M BIOS. 

By Richard H. Taylor 
570 Gloucester St. Flat #3 
Christchurch New Zealand 



Notes on the Morse Code for the Kaypro 

In the "Morse Code Interface for the 
Kaypro" (Issue #17 Micro C), we've dis- 



covered a few problems. In the listing, 
line 140 should read INP (28) less than or 
equal to 70, not just less than 70. Line 280 
should contain 'J=6 TO 3*SI:', not 'J=6 
TOK 3*SI:'. The DATA statements (310, 
320, and 330) should be broken into 
smaller DATA statements containing the 
number of constants that will fit on one 
line. 

We've also been questioned about the 
diagram of the transmit key (by the way, 
a license is required to transmit). Based 
on the letters and phone calls, the dia- 
gram is correct for some keys and not 
others, depending on whether your key 
is negative or positive ground. 



THE BIGGEST & BEST SBC 



The Mega 

Super 
Computer 




The Maxi Computer 

512K of D-Ram with Parity- 
Configurable as 8 Banks of 64K or as 
a high speed Electronic Disk 
Dual Density 1 or 2 sided Floppy Disk 
Controller (WD2797)-8" or 5" 
simultaneously - supports 3 drives for 
4 MB's of DATA 
Hard Disk Interface, ST506 or Priam 



System on Board 

• Six Serial Ports - with hand shaking 

• 48 Additional Ports on I/O expander 
BUS 

• Math Chip (9511 or 9512) 

• CTC & DMA 

• Two Parallel Ports 

• Z80B Runs at 4 or 5 MHZ 

• ROMS/CPM/MPM and Turbodos 



- CP/M 2.2 System 512K, RAM Disk (430K) 

- CP/M 3.0 System 512K Bank 

- MP/M 2.1 System 384K auto-boot for console (16 users) 

- Turbodos 1.3, 128K (see Microsystem, Aug. 84) 

SPECIAL HALLOWEEN PRICES 

Total price for above systems $1099 — includes operating system and board 

Hard disk 20 megabyte package for all systems above 

All this on a multi layer card - with accurate documentation. 

Bare Board - with documentation & Firmware (PAL) — $200 

Users Manual — $25 

Wave soldered assembled board without IC's — $375 

MEGACO. 

2248 S. Park Street, Madison, Wl 53713, (608) 255-7400 



Micro Cornucopia, Number 20, October 1984 



69 



XEROX 820 USERS 

NEED MORE I/O?? 

2 PIO'S 

1 SIO 
SASI INTERFACE 
SOUND GENERATOR 
REAL TIME CLOCK 

USES THE NATIONAL 58167 
REAL TIME CLOCK 

Tl 76496 COMPLEX SOUND 
GENERATOR 

BARE BOARD $54.95 

COMPOSIT VIDEO INTERFACE 
BARE BOARD $19.95 

WE ACCEPT 
CHECK MONEY ORDER 

MASTER CHARGE VISA 

GRD TECHNIQUES 

PO BOX 6383 
BRIDGEPORT CT 06606 
203-374-3660 




SPEECH 
SYNTHESIZER 

FOR THE BIG BOARD 
AND XEROX 820 




^ 



l±=j/h=7/7/y7/V7/5 



BIG VOICE KIT 

1400 BUILT- IN WORDS PLUS 
UNLIMITED PHONETIC SPEECH 
CAPABILITY 

DATA RATE: 3-5 bytes/sec typical 
(2 bytes/word or phoneme) 
PLUGS DIRECTLY ONTO GPIO "A" 

BIG VOICE KIT INCLUDES '• 

HIGH QUALITY BARE BOARD 
1400 WORDS IN EPROM 
USER /ASSY MANUAL w /schem. 
SOFTWARE: WORD SOURCE, 
DEMO & SUPPORT PROGRAMS, 
ON 8 "sssd FLOPPY DISK 

$70. kit / $150. ass'd & tested 
all ppd. (Texas res. add 6%) 
state whether B/B or XeroX 

9910 LEAWOOD BLVD. 
HOUSTON, TEXAS 77099 
tel. (713) 495-6185 



POWER SUPPLY 



For the BIG BOARD and other SBC's 
Assembled, tested and burned-in 48 hours 

• + 5V @ 4A + DVP. 24 V <a 2.5A. ± 12V @ 2A 

• All supplies have over-current protection 

• Bell circuit and Piezo speaker (or BB 

• Low line warning circuit - brown out 

• Input 105-120 VAC 50/60 Hz & 1.0 A 

• 4.5'H. 3.8"D. 11"L -5 lb. 



$110 

PLUS S5 
S&H 




DOUBLE DENSITY HARDWARE 

DAUGHTER BOARD FOR THE WD2795 DSDD CONTROLLER 

$ 29 
$ 59 
$ 79 



KIT wrtnoul 
WO ?795 



COMPATIBLE WITH 
•NT COMPUTER 
USING WO 1771 
ONLY St 00 S 1 H 



h^P 



AT LAST! DD SOFTWARE $25 

SOLD WITH KIT ONLY 




AMP 

CONNECTORS 

FOR YOUR 

DISK DRIVE 

KIT OF 2 EACH 
WITH PINS 

S5 Plus S1 S & H 



r H K Big, Mouth 



CALL MORNINGS 
FOR DEMO 



LISTEN! Your computer could be talking to you through the BIG MOUTH 
from ASTROTRONICS. True speech synthesis tor ANY computer through 
your printer port, (parallel or serial). Using our BIG MOUTH speech 
synthesizer with its Z80 CPU and SSI-263 third generation phonetin 
speech synthesizer. 

• Text to speech • No software required 

• Will run on any computer • 400 character buffer 

• Embed phonemes in text lor those special words that don't fit the rules, names 
foreign words etc. 

• Programmable: vocal-tract frequency, inflection rate, duration pitch, articluation 
amplitude... tor all 64 phonemes 

• Can be programmed to make sound effects and can even be programmed it to 
SING! 




PCB & EPROM with Instruction 

Complete PCB Kit with Instruction 

Complete Kit Including Case Speaker & Power Supply 

Completed Unit A & T 



$59 + J1 S&H 

S129 + S3 S&H 

S159 + S3 S&H 

$199 + $5 S&H 



Coming next month a 56K smart Printer Buffer, order your own 'son of a buffer' 
Kit for only $99 plus + S3 S & H 



AstroTronics 

MICROSYSTEMS 



<& BIG BOARD 



«\* tf 



*V s 



The "LA CAJA" Enclosure w/Power Supply 



299 



PLUS $20 
S & H 




IN STOCK! 



STANDARD FEATURES INCLUDE 

• Power Supply ^ 
5V & 4A + OVP. 24V (ft 2.5A. ± 12V Qi .2A 
All voltages are current protected 

• Reset Switch • Fan 

• Key-lock Power • Solid State AC Relay 

• Bell Circuit and Piezo Speaker 

• 2 AC Outlets, One Switched 

• Color. Beige and Chocolate 

• 6 " H x 12" W x 16'" D 24"W for 2 Drive Unit 

La Caja can be supplied fully wired for the Big Board 
with all ports disk DC and timed AC for $150 00 

NAKED! Yes now you can buy the LA CAJA stripped for only $119 
fans, line fliers, etc. available. $15 S&H. 

California residents add 6% tax on all items 




(714) 734-6006 



1137 TOPAZ ST 
CORONA. CA 91720 



70 



Micro Cornucopia, Number 20, October 1984 



OBDEBFEM 



Micro C works because it is a central information exchange for 
the doers in this crazy industry. So we encourage you to share 
your trials and tribulations. That way we can invent new 
wheels rather than redoing the old ones over and over. 

What kind of exciting adventure (misadventure) are you 
working on? 



What information would you like to see in Micro C? 



Quantity 


Description 


Price Each 


Total 


U.S. 


Can & Mex 


Other Foreign 




SUBSCRIPTION (1 year— 6 issues) 
□ New □ Renewal 


□ $16 (Bulk) 
□ $22 (1st Class)' 


□ $22 

(Air Mail) 


□ $30 

(Air Mail) 






USERS DISKS - 8" SSSD, CP/M 
#'s 


$15 


$15 


$15 






CP/M 86 DISKS -8" SSSD 
#'s 


$15 


$15 


$15 






KAYPRO DISKS for the II, 4, & 10 - 5" SSDD 
#'s 


$12 


$12 


$12 






BACK ISSUES 

#'s 


$3 


$3 


$5 






OTHER ITEMS: 


























































Prices inclu 

□ Check or 
(US fund 


de media, package, 1st Class postage (Air Mail for O 

money order enclosed 

s only, payable on a US bank) 


ther Foreign) 

Make checks 
MICRO COR 


payable to: 
NUCOPIA 


TOTAL 
ENCLOSED 





Card No - 

□ Visa □ MasterCard 



Exp. 



Signature 



NAME 



PHONE (?) 



ADDRESS 
CITY 



STATE 



ZIP 



i 



MICRO CORNUCOPIA • P.O. Box 223 • Bend, Oregon • 97709 

(503) 382-8048 



J 



ADVERTISER'S INDEX 

Advent Products 24 

Arkon Engineering 25 

Artisoft, Inc 50 

Astrotronics Microsystems ... 70 

BV Engineering 67 

Barnes Research & 

Development 43 

Biegun & Associates 17 

Borland International 54 

Busch Computers 46 

Cal-Tex Computers, Inc 65 

Cascade Electronics 43 

CompuSophic Systems 63 

DG/Systems 28 

Digital Dynamics 31 

Digital Research Computers .. 7, 

Inside Front Cover 

ET Computer Systems 4 

Emerald Microware 50 

Ferguson Engineering inside 

Back Cover 

GRD Techniques, Inc 70 

Graphtech 67 

HSC, Inc 6,31 

Haventree Software 19 

Huntington Data Systems 35 

Integrand 60 

Kaypro Users Group 27 

Kenmore Computer 

Technologies 41 

Komputerwerk 23, 46 

L.A. Software 45 

L-Band Systems 43 

Linger Enterprises, Inc 41 

Manx Software Systems Back 

Cover 

Mega Co 69 

Micro Cornucopia 56,57, 

58, 59 

Microgroup 25 

Microprocessors 

Unlimited Back Cover 

Microsphere, Inc 21 

Motel Computers Ltd 7 

Optronics Technology 9, 1 1 

Periphco 12 

Phenix Company 47 

PI u Perfect Systems 25 

Rivendell Audiocomp 67 

SWP, Inc 51 

Selectronics 10 

Sheepshead Software 32 

Slicer Computers, Inc. ... 36,37 
Southern Computer 

Corporation 42 

TC Controls 70 

Twente Digital 12 

Twist, Inc 29 

Unified Software Systems . . . Back 

Cover 

Widener Consulting 29 

Wilcox Enterprises 40 

Wren 7 

Zippe Systems 29 



BACK ISSUES 



$3.00 each 
US, CAN, MEX 

ISSUE NO. 1(8/81) 

Power Supply 
RAM Protection 
Video Wiggle 
Vi PFM. PRN 
16 pages 

ISSUE NO. 2(10/81) 

Parallel Print Driver 
Drive Motor Control 
Shugart Jumpers 
Program Storage Above PFM 
Vi PFM.PRN 
16 pages 

ISSUE NO. 3(12/81) 

4 MHz Mods 
Configuring Modem 7 
Safer Formatter 
Reverse Video Cursor 
FORTHwords begins 
16 pages 

ISSUE NO. 4 (2/82) 
Keyboard Translation 
More 4 MHz Mods 
Modems, Lync, and SIOs 
Undoing CP/M ERASE 
Keyboard Encoder 
20 pages 

ISSUE NO. 5 (4/82) 
Word Processing 
Two Great Spells 
Two Text Editors 
Double Density Review 
Scribble, A Formatter 
20 pages 

ISSUE NO. 6 (6/82) 

BB I EPROM Programmer 
Customize Your Chars 
Double Density Update 
Self-Loading ROM 
Terminal in FORTH 
24 pages 

ISSUE NO. 7 (8/82) 
6 Reviews of C 
Adding 6K of RAM 
Viewing 50 Hz 
On Your Own begins 
24 pages 



$5.00 each 

Other Foreign 

ISSUE NO. 8 (10/82) 

Drive Maintenance 
Interfacing Drives 
Installing a New BIOS 
Flippy Floppies 
C'ing Clearly begins 
Xerox 820 begins 
28 pages 

ISSUE NO. 9 (12/82) 
BB II EPROM Program 
Relocating Your CP/M 
Serial Print Driver 
Big Board I Fixes 
Bringing Up WordStar 
Cheap RAM Disk 
32 pages 

ISSUE NO. 10(2/83) 

Saving a Flaky Disk 
Hooking Wini to BB II 
The Disk Inspector 
JRT Fix 

Serial Keyboard Interface 
Pascal Procedures begins 
36 pages 

ISSUE NO. 1 1 (4/83) 
BB I Expansions 
BB II Details 

Dyna, RAM Disk Review 
Easier Reverse Video Cursor 
PlannerCalc Review 
KayPro Column begins 
36 pages 

ISSUE NO. 12(6/83) 

256K for BB I 

Bringing Up BB II 

dBase II 

Look at WordStar 

Double Sided Drives for BB I 

Packet Radio 

5MHz Mod for KayPro 

40 pages 

ISSUE NO. 13 (8/83) 
CP/M Disk Directory 
More 256K for BB I 
Mini Front Panel 
Cheap Fast Modem 
Nevada Cobol Review 
BB I Printer Interface 
KayPro Reverse Video Mod 
44 pages 



ISSUE NO. 14(10/83) 

BB II Installation 

The Perfect Terminal 

Interface to Electronic Typewriter 

BB I Video Size 

Video Jitter Fix 

Slicer Column starts 

KayPro Color Graphics Review 

48 pages 

ISSUE NO. 15(12/83) 
Screen Dump Listing 
Fixing Serial Ports 
Playing Adventure 
SBASIC Column Begins 
Upgrading KayPro II to 4 
Upgrading KayPro 4 to 8 
48 pages 

ISSUE NO. 16 (2/84) 
Xerox 820 Column Restarts 
BB I Double Density 
BB II 5V8" Interface Fix 
KayPro ZCPR Patch 
Adding Joystick to Color Graphics 
Recovering Text from Memory 
52 pages 

ISSUE NO. 17(4/84) 

Voice Synthesizer 

820 RAM Disk 

Kaypro .Morse Code Interface 

68000-Based System Review 

Inside CP/M 86 

56 pages 

ISSUE NO. 18 (6/84) 

Kaypro EPROM Programmer 

I/O Byte: A Primer 

Kaypro Joystick 

Serial to Parallel Interface 

Business COBOL 

60 pages 

ISSUE NO. 19 (8/84) 

Adding Winchester to BBII 

6MHz on the BBI 

Bulletin Boards, Getting It Together 

Track Buffering on the Slicer 

4MHz for the 820-1 

64 pages 

ISSUE NO. 20 (10/84) 

HSC 68000 Co-Processor 
DynaDisk for the BBII 
Serial Printer on BBI Sans SI0 
Cheap &. Dirty Talker for Kaypro 
Extended 8" Single Density 
72 pages 



BOOKS 




Your Fortune in the Microcomputer 

Business $26.45 (US, Can, Mex) 

$36.45 (Other foreign) 

This is the best, most complete collection of "working 
for yourself information I've found (and I've heard 
nothing but good comments from those who have 
received it). This two-volume set is perfect for those 
times when you need a break from monitor watching. 



Inside CP/M $27.95 (US, Can, Mex) 

$37.95 (Other foreign) 

This is one of the best books on CP/M. It covers the 
whole spectrum of users from novice to guru. There 
are a few books that include more programming 
examples but none work better for the whole range of 
users and this book is perfect for reference use. Micro 
C's copy of Inside CP/M is showing definite signs of 
overuse. 



MICRO CORNUCOPIA - P.O. Box 223 - Bend, Oregon - 97709- 



FERGUSON ENGINEERING 



817-640-0207 



BIGBOARD-1 / 820-1 256K 
RAM EXPANSION MODULE 



rJ 5 L-J 5 Uj 3 £ 



iii 



1 

El 



ICZD 



5C=> 



5C=) 






820-256K if^k'- 

J. ( B. FERGUSON "* ' 

IOHI4 «4o:to 



Very legible C size 820 schematics set of six drawings $1 8.00 

STD BUS connector for BBII $1 2.50 

CRYDOM S31 2 OV switching SSR $ 7.50 

Complete 820 Documentation Package $1 5.00 

820 CBIOS & Rom monitor source $35.00 

CP/M Primer (Xerox CP/M handbook) $1 0.00 

8" Dual Drive Cable 1 7" $30.00 

DB25S to 26 Pin Header. 1 8" Long $1 5.00 

Tested Xerox 820-I boards $100.00 each 



BIGBOARD-1 / 820-1 256K 
RAM EXPANSION MODULE 

Now you can add 192K of RAM to your Bigboard-1 or 820-1 in a 
clean and efficient manner. This module can be used as a RAM disk, a 
spooler buffer, a disk cache or anything that requires more memory 
than the basic 64K. This module uses none of your precious I/O. 
I nstead, it plugs in to five device sockets below the existing RAM array 
as a daughter board. It adds only 1 /2 inch to the overall height of the 
computer board. The interface is accomplished with absolutely NO 
wires, cables or jumpers. The interconnect hardware, PAL and 
difficult-to-obtain discrete components are provided with the bare 
board, kit and tested versions. Only 7 TTL devices are required. 

This memory array resides in the address space of the CPU as 1 6 
blocks of 1 6K. Any 1 6K physical block can be mapped into any 1 6K 
logical block addressable by the CPU. A bipolar RAM mapper controls 
which 1 6K blocks the CPU has access to. The mapper is configured 
by easily-understood single-byte commands written to memory loca- 
tion OFFFFH. This extremely flexible architecture will accommodate 
a wide variety of applications, such as MPM.CPM+ and a host of high- 
speed data acquisition tasks. This RAM upgrade will work at 4 Mhz. 
This product comes with complete schematics and a full theory of 
operation with many programming examples. Assembly, installation 
and test procedures are thoroughly documented. PAL code is not 
available. 

We have modified XDRIVE, a public-domain RAM disk software 
package, to run with the 820-256K. By the end of the 2nd quarter, we 
will have aCACHE BIOS melded with ZCPR that willgive you nearly all 
the flexibility of CPM+ at a fraction of the cost. 

BARE BOARD & DOCUMENTATION $ 67.50 

KIT W/O RAM 95.00 

2.5 Mhz A&T (250 nS RAM) 325.00 

4.0 Mhz A&T (1 50 nS RAM) 375.00 

NEW MONITOR ROM SOURCE & XDRIVE SOFTWARE 45.00 

64K 250 nS MK 4564 - 25 4.50 



UNINTERRUPTABLE POWER SUPPLY 

$ JABOO 
UPS 5-200 



95 



+5 V @ 8.5 AMPS, + 1 2 V @ 7.2 AMPS 
-1 2V @ .5 AMP, + 24V @ 2 AMPS (4A Pk) 
This supply is designed to power entire computer systems with 
Winchester and floppy disk subsystems, as well as providing 
emergency battery backup capability. Designed to meet the 
needs of single-board Winchester systems. 
24V 4.5 AH battery pack, BP-1 $65.00 

FEATURES: 

High Reliability 

High Efficiency (75% TYP.) 

High Power - 200 Watts 

25 Khz Switching Frequency (inaudible) 

Soft Start 

Built-in Quick-Response O.V.P. 

Cycle-By-Cycle Fold-Back Current Limiting 

Drop-Out Immunity for up to 250 Ms (without battery) 

Uninterruptable (with addition of BP-1 battery pack) 

5 Output Voltages 



FERGUSON ENGINEERING 

817-640-0207 
P.O. BOX 300085 ARLINGTON, TEXAS 76010 






Bare Board & Doc 



ACCOMMODATES 

• Z80, Z80A, OR Z80B Series Parts 

• Dual RS232 Serial I/O W/Current Loop Option on "A" 
Channel (both strappable as terminal or modem in 
RS232 Mode) 

• 1 6 Programmable Baud Rates on each serial channel 

• 32 Bits Buffered Parallel I/O Assignable on 4 Bit Boundaries, 
W/Strappable Handshake Polarity (2xZ80-PIO) 

• 4 Channels of Counter-Timer, 4 Inputs, 3 Outputs 

• Accommodates 1 6K Mix of Ram or Rom or EEPROM on 2K 
Boundaries in 271 6 or 201 6 or XICOR EEPROM 

• 2.3" x 1 0" Sea of Holes Prototyping Area 

• All I/O Fully Mode II Interrupt Compatible 

• Watchdog Timer for Long-Term Unattended Operation 

Rom monitor and source listing $ 35.00 



TERMS: Master Card/VISA add 3%, money order, certified 
check, UPS cash COD. Allow 2 weeks for 

personal or company checks to clear. 

Shipping/handling extra. Texas order 

add 5% tax. 








Full implementation of "C" with standard floating 
point, library, and I/O subroutines. UNIX VER 7 
compatible. Produces relocatable 8080 (optional 0Z80) 
assembler code. Relocating assembler and linker 
supplied with package or use Microsoft M80 and L80, 
SID/ZSID debugger interface. FAST COMPILATION 
AND EXECUTION. 

AZTEC CM FOR CP/M $199 

(Special price for Micro C subscribers $149) 

_ MANX 

VISA software systems 



■ Box 55, Shrewsbury, N.J. 07701 

(201) 780-4004 

Also available for Apple DOS, HDOS, CP/M-86, PC-DOS 



PROMPT DELIVERY!!! 

F S SAME DAY SHIPPING (USUALLY) 





DYNAf 


l/IIC RAM 




256K 


256Kx1 


150 ns 


$34.34 


256K 


256Kx1 


200 ns 


26.26 


64K 


64Kx1 


150 ns 


4.77 


64K 


64Kx1 


200 ns 


4.62 


16K 


16Kx1 


200 ns 


1.21 




EPROM 




27256 


32Kx8 


300 ns 


$49.97 


27128 


16Kx8 


300 ns 


18.77 


27C64 


8Kx8 


200 ns 


22.50 


2764 


8Kx8 


250 ns 


6.50 


2732 


4Kx8 


250 ns 


6.37 


2716 


2Kx8 


450 ns 


3.50 




STATIC RAM 




6264LP-15 


150 ns 


$31.25 


6116P-3 


150 ns 


6.36 



Open 6 1 /2 days: We can ship via Fed-Ex on Sat. 



MasterCard/VISA or UPS CASH COD 

Factory New, Prime Parts juPoo 

MICROPROCESSORS UNLIMITED 

24,000 South Peoria Ave. /Q10\ OR7-AQf*-i 
BEGGS, OK 74421 V 91 b ) ^b7-49bl 

Prices shown above are for September 17, 1984 

Please call for current prices & volume discount. Prices subject to change. Please expect 
higher prices on some parts due to world wide shortages. Shipping and insurance extra. 
Cash discount prices shown. Small orders received by 6 PM CST can usually be delivered to 
you by the next morning, via Federal Express Standard Air @ $5.99! 



nuinaiiii 



Tired of the slowness of BASIC? Find that the bugs in 
FORTRAN are bugging you? Step up to FORTH, the language 
that gives you total control over your computer! UNIFORTH 
is the only version of FORTH available either "captured" under 
an operating system (such as CP/M), or "standalone", 
acting as its own operating system. Our standalone versions 
are customized to your single board computer, providing serial 
and parallel port support, a real-time clock, formatting, fast 
disk copy, and disk access up to twice as fast as CP/M! All 
systems are FORTH-79, and include a video editor, macro 
assembler, debugger, decompiler, top-notch documentation, 
and much more. Write for our free brochure, or order direct 
from the special Micro-C reader prices listed below. 





UNIFORTH Version 






System 


Integer 


Floating 


Multi- 


Multi- 






Point 


Tasking 


User 


Big Board 


$ 60 


$100 


$125 


$150 


Big Board II 


80 


125 


150 


200 


Slicer 


100 


150 


200 


250 


Any CPM-80 


60 


100 







Unified Software Systems 

P.O. Box 2644, New Carrollton, MD 20784, 301/552-9590 

DEC, VAX,PDP,RT-1 1 , RSX-1 1 (TM) Digital Equipment Corp; CP/M (TM) Digital Research; MSDOS 
(TM) Microsoft; VIC-20 (TM) Commodore. 



MICRO CORNUCOPIA 

The Single Board Systems Journal 



P.O. BOX 223 
BEND, OREGON 97709